Menu:
Supported
- ATA command set
- ATAPI (PACKET command)
- Bus technologies:
- Parallel ATA (a.k.a. PATA, a.k.a. EIDE)
- Serial ATA (a.k.a. SATA)
- Pluggable driver API permits support of exotic bus
technologies such as parallel port or ethernet transports.
- Command protocols:
- PIO read/write
- PIO read/write multiple
- non-data
- DMA
- ATAPI
- ATAPI DMA
- NCQ
- Host controllers:
- Hotplug (i.e. unplug the card)
- Bus-mastering DMA
- PCI Message Signalled Interrupts (MSI)
- PCI IDE legacy and native modes
- ADMA-compliant
- AHCI-compliant
- Taskfile-based, FIS-based or exotic
- Unlimited number of ports (compile-time limit is 32, but
this is easily changed)
- Legacy ISA PATA devices
- Simplex DMA
- Suspend/resume (depends on driver). Refer to the driver
matrix for details.
- PCI IDE SATA hardware drivers:
- Broadcom/Serverworks
- Intel
- NVIDIA
- Silicon Image
- SiS
- ULi
- VIA
- Vitesse/Intel
- Advanced SATA hardware drivers:
- AHCI (Intel, VIA, JMicron, ATI, NVIDIA, ...)
- Marvell
- Promise
- Pacific Digital
- Silicon Image
- PCI IDE PATA hardware drivers:
- AMD
- Artop
- ATI
- HighPoint Technologies
- Intel
- Netcell
- Opti
- Radisys
- Silicon Image / CMD
- SiS
- Triflex
- VIA
- Advanced PATA hardware drivers:
- ATA/ATAPI device support:
- Arbitrary ATA command execution (SMART, ATA pass-through)
- C/H/S, LBA, and LBA48
- 12-byte or 16-byte ATAPI CDB
- Support for SATA PHY registers
- SCSI simulator, attempts SCSI SAT compliance
- Interrupt-driven operation, or polling via kernel thread
- Hotplug (i.e. unplug the drive)
- Device reset on error
- Suspend/resume, ACPI (patch available)
- ATA commands supported:
- Everything not listed in the 'Not Supported'
list below.
- SCSI commands supported:
- ATA(12, 16)
- FORMAT UNIT
- INQUIRY
- MODE SENSE(6, 10)
- READ(6, 10, 16)
- READ CAPACITY, READ CAPACITY(16)
- REPORT LUNS
- REZERO UNIT
- SEEK(6, 10)
- SEND DIAGNOSTIC
- START STOP UNIT
- SYNCHRONIZE CACHE
- TEST UNIT READY
- VERIFY, VERIFY(16)
- WRITE(6, 10, 16)
- RAID:
- BIOS RAID supported in conjunction with dmraid.
- Software RAID 0/1/5/6+ supported by md Linux driver.
- Hardware RAID supported by various Linux drivers, but not covered by
this feature list. Read the SATA RAID FAQ
before assuming that your "SATA RAID" card is really hardware
RAID. Most aren't.
- Architecture for handling controller-specific, device-specific
errata
- Support for initializing PATA device, controller timings
- Modular device driver API, which allows for full-featured drivers
implemented with a minimum amount of code.
Not supported
- Port Multipliers (patch available)
- Command protocols:
- Soft reset — though the libata error handler (EH)
supports soft reset internally.
- Hard reset — though the libata error handler (EH)
supports hard reset internally.
- Legacy TCQ (no support planned)
- ATA/ATAPI device support:
- Host-protected area (HPA)
- ATA commands:
- Read/write TCQ
- On some controllers, vendor-specific commands will
fail.