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

NAME
     ata, ar, acd, ad, afd, ast -- generic ATA/ATAPI disk controller driver

SYNOPSIS
     For ISA based ATA/ATAPI support:
     device isa
     device ata

     In /boot/device.hints:
     hint.ata.0.at="isa"
     hint.ata.0.port="0x1f0"
     hint.ata.0.irq="14"
     hint.ata.1.at="isa"
     hint.ata.1.port="0x170"
     hint.ata.1.irq="15"

     For PC98 based ATA/ATAPI support:
     device isa
     device ata

     In /boot/device.hints:
     hint.atacbus.0.at="isa"
     hint.atacbus.0.port="0x640"
     hint.atacbus.0.irq="9"

     For PCI based ATA/ATAPI support:
     device pci
     device ata

     To support ATA compliant disk drives:
     device atadisk

     To support ATA software RAID's:
     device ataraid

     To support ATAPI CDROM, DVD and CD/DVD burner drives:
     device atapicd

     To support ATAPI floppy drives:
     device atapifd

     To support ATAPI tape drives:
     device atapist

     To turn ata(4) subsystem controller drivers into cam(4) interface modules
     (disables all native ata(4) APIs and periperal drivers):
     options ATA_CAM

     The following tunables are settable from the loader:

     hw.ata.ata_dma
     set to 1 for DMA access, 0 for PIO (default is DMA).

     hw.ata.ata_dma_check_80pin
     set to 0 to disable the 80pin cable check (default is 1, check the cable)

     hw.ata.atapi_dma
     set to 1 for DMA access, 0 for PIO (default is DMA).

     hw.ata.wc
     set to 1 to enable Write Caching, 0 to disable (default is enabled).
     WARNING: can cause data loss on power failures and crashes.

     hint.atapci.X.msi
     set to 1 to allow Message Signalled Interrupts (MSI) to be used by
     specified PCI ATA controller, if supported.

     hint.ata.X.pm_level
     controls SATA interface Power Management for specified channel, allowing to
     save some power by the cost of additional command latency.  Possible
     values:
     0	     interface Power Management is disabled, default value.
     1	     device is allowed to initiate PM state change, host is passive.
     2	     host initiates PARTIAL PM state transition every time port becomes
	     idle.
     3	     host initiates SLUMBER PM state transition every time port becomes
	     idle.
     Modes 2 and 3 are implemented only for AHCI driver now.

DESCRIPTION
     The  ata driver provides access to ATA (IDE) and SerialATA disk drives, AT-
     API CDROM/DVD drives, ZIP/LS120 ATAPI drives and  ATAPI  tape  drives  con-
     nected to controllers according to the ATA/ATAPI standards.

     The currently supported ATA/SATA controller chips are:

     Acard:	     ATP850P, ATP860A, ATP860R, ATP865A, ATP865R.
     ALI:	     M5228, M5229, M5281, M5283, M5287, M5288, M5289.
     AMD:	     AMD756, AMD766, AMD768, AMD8111, CS5536.
     ATI:	     IXP200, IXP300, IXP400, IXP600, IXP700, IXP800.
     CMD:	     CMD646, CMD646U2, CMD648, CMD649.
     Cypress:	     Cypress 82C693.
     Cyrix:	     Cyrix 5530.
     HighPoint:      HPT302,  HPT366,  HPT368,	HPT370, HPT371, HPT372, HPT372N,
		     HPT374.
     Intel:	     6300ESB, 31244, PIIX, PIIX3, PIIX4, ESB2, ICH, ICH0,  ICH2,
		     ICH3, ICH4, ICH5, ICH6, ICH7, ICH8, ICH9, ICH10, SCH, PCH.
     ITE:	     IT8211F, IT8212F, IT8213F.
     JMicron:	     JMB360, JMB361, JMB363, JMB365, JMB366, JMB368.
     Marvell	     88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6042,
		     88SX6081, 88SX6101, 88SX6102, 88SX6111, 88SX6121, 88SX6141,
		     88SX6145, 88SX7042.
     National:	     SC1100.
     NetCell:	     NC3000, NC5000.
     nVidia:	     nForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3
		     Pro,  nForce4,  MCP51,  MCP55,  MCP61, MCP65, MCP67, MCP73,
		     MCP77, MCP79, MCP89.
     Promise:	     PDC20246, PDC20262, PDC20263, PDC20265, PDC20267, PDC20268,
		     PDC20269, PDC20270, PDC20271, PDC20275, PDC20276, PDC20277,
		     PDC20318, PDC20319, PDC20371, PDC20375, PDC20376, PDC20377,
		     PDC20378, PDC20379, PDC20571, PDC20575, PDC20579, PDC20580,
		     PDC20617, PDC20618, PDC20619, PDC20620, PDC20621, PDC20622,
		     PDC40518, PDC40519, PDC40718, PDC40719.
     ServerWorks:    HT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8.
     Silicon Image:  SiI0680, SiI3112, SiI3114, SiI3124, SiI3132, SiI3512.
     SiS:	     SIS180, SIS181, SIS182, SIS5513,  SIS530,	SIS540,  SIS550,
		     SIS620,  SIS630,  SIS630S,  SIS633, SIS635, SIS730, SIS733,
		     SIS735, SIS745, SIS961, SIS962, SIS963, SIS964, SIS965.
     VIA:	     VT6410,  VT6420,  VT6421,	VT82C586,  VT82C586B,  VT82C596,
		     VT82C596B,  VT82C686, VT82C686A, VT82C686B, VT8231, VT8233,
		     VT8233A, VT8233C, VT8235, VT8237, VT8237A, VT8237S, VT8251,
		     CX700, VX800, VX855.

     Unknown ATA chipsets are supported in PIO modes, and if the  standard  bus-
     master  DMA  registers are present and contain valid setup, DMA is also en-
     abled, although the max mode is limited to UDMA33, as it is not known  what
     the chipset can do and how to program it.

     The  ata  driver  can change the transfer mode and various other parameters
     when the system is up and running.  See atacontrol(8).

     The ata driver sets the maximum transfer mode supported by the hardware  as
     default.	However  the ata driver sometimes warns: "DMA limited to UDMA33,
     non-ATA66 cable or device".  This means that the ata  driver  has	detected
     that  the	required  80  conductor cable is not present or could not be de-
     tected properly, or that one of the devices on the channel only accepts  up
     to  UDMA2/ATA33.  The hw.ata.ata_dma_check_80pin tunable can be set to 0 to
     disable this check.

     Unknown ATAPI devices are initialized to DMA mode if  the	hw.ata.atapi_dma
     tunable  is set to 1 and they support at least UDMA33 transfers.  Otherwise
     they are set to PIO mode because severe DMA problems are common even if the
     device capabilities indicate support.  You can always try to set  DMA  mode
     on  an  ATAPI  device  using atacontrol(8), but be aware that your hardware
     might not support it and can potentially hang  the  entire  system  causing
     data loss.

FILES
     /dev/ad*		     ATA disk device nodes
     /dev/ar*		     ATA RAID device nodes
     /dev/acd*		     ATAPI CD-ROM device nodes
     /dev/afd*		     ATAPI floppy drive device nodes
     /dev/ast*		     ATAPI tape drive device nodes
     /sys/i386/conf/GENERIC  sample  generic  kernel  config  file for ata based
			     systems

NOTES
     Please remember that in order to use UDMA4/ATA66 and above modes  you  must
     use  80  conductor  cables.  Please assure that ribbon cables are no longer
     than 45cm.  In case of rounded ATA cables, the length depends on the  qual-
     ity of the cables.  SATA cables can be up to 1m long according to the spec-
     ification.

     Static  device numbering (enabled with the ATA_STATIC_ID kernel option) re-
     serves a number for each possibly connected disk, even  when  not	present.
     This  is  useful  in hotswap scenarios where disks should always show up as
     the same numbered device, and not depend on attach order.

     Native Command Queuing (NCQ) on SATA drives is not yet supported.

SEE ALSO
     ahci(4), cam(4), ataraid(4), atacontrol(8), burncd(8), siis(4)

HISTORY
     The ata driver first appeared in FreeBSD 4.0.

AUTHORS
     Soren Schmidt <sos@FreeBSD.org>.

FreeBSD 8.1			  March 3, 2010 			  ATA(4)

home | help