SATA hardware features

From ata Wiki
(Difference between revisions)
Jump to: navigation, search
 
(36 intermediate revisions by 9 users not shown)
Line 1: Line 1:
This is an attempt to enumerate key Serial ATA hardware features, as correlated with various SATA controller chips and Linux drivers.
+
This table displays key Serial ATA hardware features, as correlated with various SATA controller chips and Linux drivers. ''See [[#Key|key]] below.''
  
 
{| border="1" cellpadding="5" cellspacing="0"
 
{| border="1" cellpadding="5" cellspacing="0"
!Chip!!Driver!!NCQ||DMA++||hotplug||PMP
+
!Vendor!!Chip!!Driver!!NCQ||DMA++||hotplug||PMP||PMP SM||AN||NS||NQM
 
|-
 
|-
|Apple K2||sata_svw||no||yes||yes||no
+
|Acard||ATP8620||[[acard_ahci|acard-ahci]]||AHCI<ref name="notyetdriver">Not supported by the driver yet</ref>||AHCI||AHCI<ref name="notyetdriver"/>||yes||FBS <ref>When all 15 devices are attached at PMPs, only 8 devices can use FBS, the rest are limited to CBS.</ref>||yes||n/a||n/a
 
|-
 
|-
|BCM5785||sata_svw||yes||yes||yes||no
+
|
 +
|- style="background-color: #BADBEE"
 +
|Agere / LSI||NASx00, NASx01||none <ref name="nodriveryet">Currently, no driver has been released for this SATA controller yet</ref>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
 
|
 
|
 +
|- style="background-color: #BADBEE"
 +
|ALi||M3383, M3603||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
|ICH5||ata_piix||no||no||no||no
+
|
 +
|- style="background-color: #BADBEE"
 +
|Ambarella||iOne||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
|ICH6 family||ata_piix, ahci||AHCI||AHCI||AHCI||no
+
|
 +
|- style="background-color: #BADBEE"
 +
|AMCC||460EX||[[sata_dwc_460ex]]||yes <ref name="notyetdriver"/>||?||?||no||n/a||no||n/a||n/a
 
|-
 
|-
|ICH7 family||ata_piix, ahci||AHCI||AHCI||AHCI||no
+
|
 
|-
 
|-
|ICH8 family||ata_piix, ahci||AHCI||AHCI||AHCI||yes
+
|AMD||A50M, A60M, A70M||[[AHCI|ahci]]||AHCI||AHCI||AHCI||yes||CBS||yes||no||no
 
|-
 
|-
|ICH9 family||ata_piix, ahci||AHCI||AHCI||AHCI||yes
+
|AMD||A55E||ahci||AHCI||AHCI||AHCI||yes||FBS||yes||no||no
 
|-
 
|-
|ICH10 family||ata_piix, ahci||AHCI||AHCI||AHCI||yes
+
|AMD||A45||ahci||AHCI||AHCI||AHCI||yes||CBS||yes||n/a||n/a
 +
|-
 +
|AMD||A55, A75||ahci||AHCI||AHCI||AHCI||yes||FBS||yes||no||no
 +
|-
 +
|AMD||SB600||ahci||AHCI||AHCI||AHCI||yes <ref>Port multiplier NOT supported in SB600 ASIC revisions A12 and A11</ref><ref>Total number of SATA drives connected directly to the host and behind the port multiplier should not exceed 4</ref>||CBS||yes||n/a||n/a
 +
|-
 +
|AMD||SB7x0, SP5100||ahci||AHCI||AHCI||AHCI||yes||CBS||yes||n/a||n/a
 +
|-
 +
|AMD||SB810||ahci||AHCI||AHCI||AHCI||yes||CBS||yes||n/a||n/a
 +
|-
 +
|AMD||SB820M||ahci||AHCI||AHCI||AHCI||yes||CBS||yes||no||no
 +
|-
 +
|AMD||SB850||ahci||AHCI||AHCI||AHCI||yes||FBS||yes||no||no
 +
|-
 +
|AMD||SB920||ahci||AHCI||AHCI||AHCI||yes||CBS||yes||no||no
 +
|-
 +
|AMD||SB950||ahci||AHCI||AHCI||AHCI||yes||FBS||yes||no||no
 
|-
 
|-
 
|
 
|
 +
|- style="background-color: #BADBEE"
 +
|Amlogic||AML8726-M||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
|Marvell 5040, 5080||sata_mv||no||yes||yes||no
+
|
 
|-
 
|-
|Marvell 6040, 6080||sata_mv||yes||yes||yes||no
+
|ASMedia||ASM1061||ahci <ref name="drivergeneric">Generic support via PCI class code match</ref>||AHCI||AHCI||AHCI||yes||?||?||no||no
 
|-
 
|-
|Marvell 6042, 7042||sata_mv||yes||yes||yes||yes
+
|
 +
|- style="background-color: #BADBEE"
 +
|Broadcom||BCM7038, BCM7205, BCM7316, BCM7335, BCM7400, BCM7400B, BCM7401, BCM7405, BCM7410, BCM7413, BCM7420, BCM7440||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
 
|
 
|
 
|-
 
|-
|Promise 2037x||sata_promise||no||yes||yes||no
+
|Broadcom / Apple|| BCM5770, BCM5770R / K2, Shasta||sata_svw||no||yes||yes <ref name="notyetdriver"/>||no||n/a||no||n/a||n/a
 
|-
 
|-
|Promise 2057x||sata_promise||yes||yes||yes||no
+
|Broadcom||HT1000(BCM5785), HT1100(BCM11000)||sata_svw||yes <ref name="notyetdriver"/>||yes||yes <ref name="notyetdriver"/>||no||n/a||no||n/a||n/a
 
|-
 
|-
|Promise 40518||sata_promise||?||yes||?||no
+
|
 +
|- style="background-color: #BADBEE"
 +
|C2 Microsystems||CC1100||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
|Promise 20619||sata_promise||?||yes||?||no
+
|
 +
|- style="background-color: #BADBEE"
 +
|Cavium||CNS3xxx||[[ahci_cns3xxx]]||AHCI||AHCI||AHCI||?||?||?||n/a||n/a
 
|-
 
|-
 
|
 
|
 +
|- style="background-color: #BADBEE"
 +
|Celestial / Cavium||CNC1800H||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
|Promise 20621||sata_sx4||no||yes||no||no
+
|
 +
|- style="background-color: #BADBEE"
 +
|Conexant / NXP||CX24162, CX24163, CX2417x, CX2425x, CX2427x, CX24500||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
 
|
 
|
 +
|- style="background-color: #BADBEE"
 +
|Core Logic||CLM5520F||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
|SiI 311x||sata_sil||no||sorta||yes||no
+
|
 +
|- style="background-color: #BADBEE"
 +
|Freescale||i.MX535||none <ref name="nodriveryet"/>||AHCI||AHCI||AHCI||yes||CBS||yes||n/a||n/a
 
|-
 
|-
 
|
 
|
 +
|- style="background-color: #BADBEE"
 +
|Freescale||MPC8315E, MPC8377E, MPC8379E, MPC8536E, <br>P1022, P3041, P5020||[[sata_fsl]]||yes <ref>Maximum NCQ depth is limited to 16 outstanding entries</ref>||?||yes||yes||?||?||n/a||n/a
 
|-
 
|-
|SiI 3124||sata_sil24||yes||yes||yes||yes
+
|
 +
|- style="background-color: #BADBEE"
 +
|Fujitsu||MB86H610, MB86H611||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
 
|
 
|
 +
|- style="background-color: #BADBEE"
 +
|Grain Media||GM8181||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
|SiS 96x||sata_sis||no||no||no||no
+
|
 +
|- style="background-color: #BADBEE"
 +
|HiSilicon||Hi3515||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
 
|
 
|
 +
|- style="background-color: #BADBEE"
 +
|Ikanos||Fusiv Vx185||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
|ULi 528x||sata_uli||no||no||no||no
+
|
 +
|- style="background-color: #BADBEE"
 +
|infraNT||IT1004, IT1008, IT3102, IT3107||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|-
 
|-
 
|
 
|
 
|-
 
|-
|VIA 642x||sata_via||no||no||no||no
+
|Initio||INIC-162x||[[sata_inic162x]]||yes <ref name="notyetdriver"/>||yes||yes||?||?||no||n/a||n/a
 
|-
 
|-
 
|
 
|
 +
|- style="background-color: #BADBEE"
 +
|Intel||CE2110||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 +
|- style="background-color: #BADBEE"
 +
|Intel||CE3100||ata_piix, ahci, none <ref>Stepping A0 is not supported by the current drivers because workarounds are needed to fix errata</ref>||AHCI||AHCI||AHCI||no||n/a||yes <ref name="AHCI_RAID_only">Supported only by some components in AHCI or RAID mode</ref>||n/a||n/a
 +
|- style="background-color: #BADBEE"
 +
|Intel||CE4xx0||ahci<ref name="drivergeneric"/>||AHCI||AHCI||AHCI||?||?||?||n/a||n/a
 +
|- style="background-color: #BADBEE"
 +
|Intel||EP80579||[[ata_piix]], ahci||AHCI||AHCI||AHCI||?||?||yes||n/a||n/a
 
|-
 
|-
|Intel 31244||sata_vsc||yes||no||no||no
+
|Intel||ICH5 family, 6300ESB||ata_piix||no||no||no||no||n/a||no||n/a||n/a
 
|-
 
|-
|Vitesse 7174||sata_vsc||yes||no||no||no
+
|Intel||ICH6 family, 631xESB, 632xESB, 3100||ata_piix, ahci||AHCI||AHCI||AHCI||no||n/a||yes <ref name="AHCI_RAID_only"/>||n/a||n/a
 +
|-
 +
|Intel||ICH7 family, NM10||ata_piix, ahci||AHCI||AHCI||AHCI||no||n/a||yes <ref name="AHCI_RAID_only"/>||n/a||n/a
 +
|-
 +
|Intel||ICH8 family||ata_piix, ahci||AHCI||AHCI||AHCI||no||no||no <ref name="broken">Disabled by the respective driver usually because of hardware flaw or bogus feature</ref>||n/a||n/a
 +
|-
 +
|Intel||ICH9 family||ata_piix, ahci||AHCI||AHCI||AHCI||ICH9R and ICH9DO only <ref name="IntelSPMCAP">Depends on chip variants. SPM bit in the CAP register is set if supported.</ref>||CBS||yes <ref name="AHCI_RAID_only"/>||n/a||n/a
 +
|-
 +
|Intel||ICH10 family||ata_piix, ahci||AHCI||AHCI||AHCI||ICH10R only <ref name="IntelSPMCAP"/>||CBS||yes <ref name="AHCI_RAID_only"/>||n/a||n/a
 +
|-
 +
|Intel||PCH EG20T||ahci<ref name="drivergeneric"/>||AHCI||AHCI||AHCI||yes||CBS||yes||n/a||n/a
 +
|-
 +
|Intel||PCH SM35||ahci<ref name="drivergeneric"/>||AHCI||AHCI||AHCI||?||?||?||n/a||n/a
 +
|-
 +
|Intel||PCH x5x, xx5x, 34x0 family||ata_piix, ahci||AHCI||AHCI||AHCI||yes <ref>Port multiplier NOT supported in 3400 Chipset</ref>||FBS <ref name="Intel_port45fbs"/>||yes||n/a||n/a
 +
|-
 +
|Intel||PCH x6x, xx6x, C20x family||ata_piix, ahci||AHCI||AHCI||AHCI||yes||FBS <ref name="Intel_port45fbs">Port multiplier is supported only on SATA port 4 and 5 in AHCI or RAID mode</ref>||yes||no||no
 +
|-
 +
|Intel||PCH 82H67 ("H67 Express Chipset")||ata_piix, ahci||AHCI||AHCI||AHCI||yes||CBS||yes|| ||
 +
|-
 +
|Intel||X79||ata_piix, ahci||AHCI||AHCI||AHCI||yes||FBS||yes||no||no
 +
|-
 +
|
 +
|-
 +
|JMicron||JMB36x||ahci||AHCI||AHCI||AHCI||yes||CBS||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|Magnum Semiconductor||MS8615||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|Marvell||88SE6121||ahci||no<ref name="broken"/>||?||?||no<ref name="broken"/>||n/a||no||n/a||n/a
 +
|-
 +
|Marvell||88SE6145||ahci||no<ref name="broken"/>||?||?||no<ref name="broken"/>||n/a||no||n/a||n/a
 +
|-
 +
|Marvell||88SE9128/9125/9123/9120/9111/9110||ahci||AHCI||AHCI||AHCI||yes||FBS<ref>Possible hardware bug exposed by recent kernels [http://marc.info/?t=130747326400001&r=1&w=2]</ref>||yes||no||no
 +
|-
 +
|Marvell||88SE9130||ahci<ref name="drivergeneric"/>||AHCI||AHCI||AHCI||yes||FBS||yes||no||no
 +
|-
 +
|
 +
|-
 +
|Marvell||88SX504x, 88SX508x||sata_mv||no||yes||yes||no||n/a||no||n/a||n/a
 +
|-
 +
|Marvell||88SX6040, 88SX6080||sata_mv||yes||yes||yes||no||n/a||no||n/a||n/a
 +
|-
 +
|Marvell||88SX6041, 88SX6081||sata_mv||yes||yes||yes||yes||CBS||yes <ref>Asynchronous Notification NOT supported on revisions Bx</ref>||n/a||n/a
 +
|-
 +
|Marvell||88SX6042, 88SX7042||sata_mv||yes||yes||yes||yes||FBS||yes||n/a||n/a
 +
|- style="background-color: #BADBEE"
 +
|Marvell||88AP510, 88F5182, 88F6192, 88F6281||sata_mv||yes||yes||yes||yes||FBS||yes||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|NEC / Renesas||uPD61290, uPD61291, MC-10092, MC-10121||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|nVidia||nForce2, nForce3||sata_nv||no||no||yes||no||n/a||no||n/a||n/a
 +
|-
 +
|nVidia||nForce4 (CK804, MCP04)||sata_nv||yes||yes||yes||no||n/a||no||n/a||n/a
 +
|-
 +
|nVidia||nForce MCP51, MCP55, MCP61||sata_nv||yes <ref>NCQ NOT supported in MCP61</ref>||no||yes||no||n/a||no||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|nVidia||nForce MCP65 , MCP67, MCP68, MCP72, MCP73, <br>MCP77, MCP78, MCP79, MCP7A, MCP82||ahci||AHCI||AHCI||AHCI||no<ref name="broken"/>||n/a||yes||n/a||n/a
 +
|-
 +
|nVidia||nForce MCP89 and later||ahci||AHCI||AHCI||AHCI||yes||?||yes||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|NUFRONT||NS2816||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|NXP||PNX8332, PNX8335, PNX8336||pnx833x-sata <ref name="DriverInDevelopment">Driver is under development</ref>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|NXP / Trident||PNX8472, PNX8473, PNX8932, PNX8935||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|Oxford Semiconductor / PLX Technology||OXE800SE, OXE800DSE||ox800sata<ref name="DriverInDevelopment"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|Oxford Semiconductor / PLX Technology||OXE810SE, OXE810DSE||ox810sata <ref name="DriverInDevelopment"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|Promise||PDC2037x||sata_promise||no||yes||yes||no||n/a||no||n/a||n/a
 +
|-
 +
|Promise||PDC2057x||sata_promise||yes||yes||yes||no||n/a||no||n/a||n/a
 +
|-
 +
|Promise||PDC40518||sata_promise||yes||yes||yes||no||n/a||no||n/a||n/a
 +
|-
 +
|Promise||PDC20619||sata_promise||?||yes||no||no||n/a||no||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|Promise||PDC20621||sata_sx4||no||yes||no||no||n/a||no||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|Realtek||RTD1073||sata_mars<ref name="DriverInDevelopment"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|Renesas||SH7776||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|ROHM / OKI||ML7213, ML7223, ML7223V||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|SAMSUNG||Exynos 4210||ahci_platform||AHCI||AHCI||AHCI||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|SAMSUNG||SDP93||sata_aspen<ref name="DriverInDevelopment"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|Sigma Designs||SMP864x, SMP865x||sata_tango3<ref name="DriverInDevelopment"/>||no||no||no||no||n/a||no||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|Silicon Image / ATI||SiI311x, SiI3512 / SB300, SB300C, SB4x0||[[sata_sil]]||no||sorta||yes <ref name="notyetdriver"/>||no||n/a||no||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|Silicon Image||SiI3124, SiI3132, SiI3531||[[sata_sil24]]||yes||yes||yes||yes||FBS||yes||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|SiS||180, 964, 965||sata_sis||no||no||no||no||n/a||no||n/a||n/a
 +
|-
 +
|SiS||966||sata_sis, ahci||AHCI||AHCI||AHCI||yes||?||?||n/a||n/a
 +
|-
 +
|SiS||968||sata_sis, ahci||AHCI||AHCI||AHCI||no||n/a||?||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|SiS||XSB||sata_xenon<ref name="DriverInDevelopment"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|Skyviia||SV8860||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|ST||ConneXt STA2X11, STA2X10||ahci<ref name="drivergeneric"/>||AHCI||AHCI||AHCI||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|ST||SPEAr1310, SPEAr1340||none <ref name="nodriveryet"/>||AHCI||AHCI||AHCI||yes||CBS||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|ST||STi7109||sata_stm<ref name="DriverInDevelopment"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|Telechips||TCC8801, TCC890x||sata_snps<ref name="DriverInDevelopment"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|Telechips||TCC9302||none <ref name="nodriveryet"/>||AHCI||AHCI||AHCI||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|TI||AM1808, OMAP-L138||ahci_platform||AHCI||AHCI||AHCI||yes||CBS||yes||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|ULi||M1575||ahci||yes||AHCI||yes||no||n/a||yes||n/a||n/a
 +
|-
 +
|ULi||M1573, M1697(528x)||sata_uli||no||no||no||no||n/a||no||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|VIA||CX700, VX700 family||[[pata_via]]||?||?||?||yes||?||?||n/a||n/a
 +
|-
 +
|VIA||VX800, VX800UT||pata_via||?||?||?||yes||?||?||n/a||n/a
 +
|-
 +
|VIA||VX900||sata_via||no||no||yes||yes||no||no||n/a||n/a
 +
|-
 +
|VIA||VT642x||[[sata_via]]||no||no||no||no||n/a||no||n/a||n/a
 +
|-
 +
|VIA||VT8237 family||sata_via||no||no||yes||no||n/a||no||n/a||n/a
 +
|-
 +
|VIA||VT8251||sata_via, ahci||no<ref name="broken"/>||AHCI||yes||no<ref name="broken"/>||no||no||n/a||n/a
 +
|-
 +
|VIA||VT8261||sata_via||no||no||yes||no||no||no||n/a||n/a
 +
|-
 +
|
 +
|-
 +
|Intel||GD31244||sata_vsc||yes||no||no||no||n/a||no||n/a||n/a
 +
|-
 +
|Vitesse||VSC7174||sata_vsc||yes||no||no||no||n/a||no||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|ViXS||XCodeHD 3390, XCode 4111, XCode 4115||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 +
|-
 +
|
 +
|- style="background-color: #BADBEE"
 +
|ZORAN||SupraXD 170, SupraXD 180||none <ref name="nodriveryet"/>||?||?||?||?||?||?||n/a||n/a
 
|}
 
|}
  
Key:
+
===Key===
 
{|
 
{|
|Chip||the chip, or chip family, associated with this row of data
+
|Chip||Integrated Circuit or IC family, associated with this column of data
 
|-
 
|-
 
|Driver||Linux driver(s)
 
|Driver||Linux driver(s)
Line 79: Line 349:
 
|NCQ||Supports FPDMA
 
|NCQ||Supports FPDMA
 
|-
 
|-
|DMA++||DMA engine is more advanced than standard PCI IDE BMDMA engine.
+
|DMA++||DMA engine is more advanced than standard PCI IDE BMDMA engine
 
|-
 
|-
|hotplug||Supports interrupt-driven ''device'' hotplug and hot unplug.  Note that hotplug can often be "hacked" via polling, even if hardware does not natively support it.
+
|hotplug||Supports interrupt-driven ''device'' hotplug and hot unplug.  Note that hotplug can often be "hacked" via polling, even if hardware does not natively support it
 
|-
 
|-
|PMP||Supports SATA port multipliers.
+
|PMP||Supports SATA [http://en.wikipedia.org/wiki/Port_multiplier port multipliers]
 +
|-
 +
|SM||PMP Switching Method
 +
|-
 +
|&nbsp;&nbsp;CBS||&nbsp;&nbsp;Supports Command Based Switching port multiplier
 +
|-
 +
|&nbsp;&nbsp;FBS||&nbsp;&nbsp;Supports FIS Based Switching port multiplier
 +
|-
 +
|AN||Asynchronous Notification (Serial ATA II feature)
 +
|-
 +
|NS||NCQ Streaming (Serial ATA 3.0 feature)
 +
|-
 +
|NQM||NCQ Queue Management (Serial ATA 3.0 feature)
 
|}
 
|}
 +
 +
SoC ICs have their line highlighted with colour to avoid confusion as those are special low power devices suited for specific tasks and provide minimal user interaction
 +
 +
== Notes ==
 +
 +
<references/>

Latest revision as of 08:30, 23 August 2011

This table displays key Serial ATA hardware features, as correlated with various SATA controller chips and Linux drivers. See key below.

Vendor Chip Driver NCQ DMA++ hotplug PMP PMP SM AN NS NQM
Acard ATP8620 acard-ahci AHCI[1] AHCI AHCI[1] yes FBS [2] yes n/a n/a
Agere / LSI NASx00, NASx01 none [3] ? ? ? ? ? ? n/a n/a
ALi M3383, M3603 none [3] ? ? ? ? ? ? n/a n/a
Ambarella iOne none [3] ? ? ? ? ? ? n/a n/a
AMCC 460EX sata_dwc_460ex yes [1] ? ? no n/a no n/a n/a
AMD A50M, A60M, A70M ahci AHCI AHCI AHCI yes CBS yes no no
AMD A55E ahci AHCI AHCI AHCI yes FBS yes no no
AMD A45 ahci AHCI AHCI AHCI yes CBS yes n/a n/a
AMD A55, A75 ahci AHCI AHCI AHCI yes FBS yes no no
AMD SB600 ahci AHCI AHCI AHCI yes [4][5] CBS yes n/a n/a
AMD SB7x0, SP5100 ahci AHCI AHCI AHCI yes CBS yes n/a n/a
AMD SB810 ahci AHCI AHCI AHCI yes CBS yes n/a n/a
AMD SB820M ahci AHCI AHCI AHCI yes CBS yes no no
AMD SB850 ahci AHCI AHCI AHCI yes FBS yes no no
AMD SB920 ahci AHCI AHCI AHCI yes CBS yes no no
AMD SB950 ahci AHCI AHCI AHCI yes FBS yes no no
Amlogic AML8726-M none [3] ? ? ? ? ? ? n/a n/a
ASMedia ASM1061 ahci [6] AHCI AHCI AHCI yes ? ? no no
Broadcom BCM7038, BCM7205, BCM7316, BCM7335, BCM7400, BCM7400B, BCM7401, BCM7405, BCM7410, BCM7413, BCM7420, BCM7440 none [3] ? ? ? ? ? ? n/a n/a
Broadcom / Apple BCM5770, BCM5770R / K2, Shasta sata_svw no yes yes [1] no n/a no n/a n/a
Broadcom HT1000(BCM5785), HT1100(BCM11000) sata_svw yes [1] yes yes [1] no n/a no n/a n/a
C2 Microsystems CC1100 none [3] ? ? ? ? ? ? n/a n/a
Cavium CNS3xxx ahci_cns3xxx AHCI AHCI AHCI ? ? ? n/a n/a
Celestial / Cavium CNC1800H none [3] ? ? ? ? ? ? n/a n/a
Conexant / NXP CX24162, CX24163, CX2417x, CX2425x, CX2427x, CX24500 none [3] ? ? ? ? ? ? n/a n/a
Core Logic CLM5520F none [3] ? ? ? ? ? ? n/a n/a
Freescale i.MX535 none [3] AHCI AHCI AHCI yes CBS yes n/a n/a
Freescale MPC8315E, MPC8377E, MPC8379E, MPC8536E,
P1022, P3041, P5020
sata_fsl yes [7] ? yes yes ? ? n/a n/a
Fujitsu MB86H610, MB86H611 none [3] ? ? ? ? ? ? n/a n/a
Grain Media GM8181 none [3] ? ? ? ? ? ? n/a n/a
HiSilicon Hi3515 none [3] ? ? ? ? ? ? n/a n/a
Ikanos Fusiv Vx185 none [3] ? ? ? ? ? ? n/a n/a
infraNT IT1004, IT1008, IT3102, IT3107 none [3] ? ? ? ? ? ? n/a n/a
Initio INIC-162x sata_inic162x yes [1] yes yes ? ? no n/a n/a
Intel CE2110 none [3] ? ? ? ? ? ? n/a n/a
Intel CE3100 ata_piix, ahci, none [8] AHCI AHCI AHCI no n/a yes [9] n/a n/a
Intel CE4xx0 ahci[6] AHCI AHCI AHCI ? ? ? n/a n/a
Intel EP80579 ata_piix, ahci AHCI AHCI AHCI ? ? yes n/a n/a
Intel ICH5 family, 6300ESB ata_piix no no no no n/a no n/a n/a
Intel ICH6 family, 631xESB, 632xESB, 3100 ata_piix, ahci AHCI AHCI AHCI no n/a yes [9] n/a n/a
Intel ICH7 family, NM10 ata_piix, ahci AHCI AHCI AHCI no n/a yes [9] n/a n/a
Intel ICH8 family ata_piix, ahci AHCI AHCI AHCI no no no [10] n/a n/a
Intel ICH9 family ata_piix, ahci AHCI AHCI AHCI ICH9R and ICH9DO only [11] CBS yes [9] n/a n/a
Intel ICH10 family ata_piix, ahci AHCI AHCI AHCI ICH10R only [11] CBS yes [9] n/a n/a
Intel PCH EG20T ahci[6] AHCI AHCI AHCI yes CBS yes n/a n/a
Intel PCH SM35 ahci[6] AHCI AHCI AHCI ? ? ? n/a n/a
Intel PCH x5x, xx5x, 34x0 family ata_piix, ahci AHCI AHCI AHCI yes [12] FBS [13] yes n/a n/a
Intel PCH x6x, xx6x, C20x family ata_piix, ahci AHCI AHCI AHCI yes FBS [13] yes no no
Intel PCH 82H67 ("H67 Express Chipset") ata_piix, ahci AHCI AHCI AHCI yes CBS yes
Intel X79 ata_piix, ahci AHCI AHCI AHCI yes FBS yes no no
JMicron JMB36x ahci AHCI AHCI AHCI yes CBS ? n/a n/a
Magnum Semiconductor MS8615 none [3] ? ? ? ? ? ? n/a n/a
Marvell 88SE6121 ahci no[10] ? ? no[10] n/a no n/a n/a
Marvell 88SE6145 ahci no[10] ? ? no[10] n/a no n/a n/a
Marvell 88SE9128/9125/9123/9120/9111/9110 ahci AHCI AHCI AHCI yes FBS[14] yes no no
Marvell 88SE9130 ahci[6] AHCI AHCI AHCI yes FBS yes no no
Marvell 88SX504x, 88SX508x sata_mv no yes yes no n/a no n/a n/a
Marvell 88SX6040, 88SX6080 sata_mv yes yes yes no n/a no n/a n/a
Marvell 88SX6041, 88SX6081 sata_mv yes yes yes yes CBS yes [15] n/a n/a
Marvell 88SX6042, 88SX7042 sata_mv yes yes yes yes FBS yes n/a n/a
Marvell 88AP510, 88F5182, 88F6192, 88F6281 sata_mv yes yes yes yes FBS yes n/a n/a
NEC / Renesas uPD61290, uPD61291, MC-10092, MC-10121 none [3] ? ? ? ? ? ? n/a n/a
nVidia nForce2, nForce3 sata_nv no no yes no n/a no n/a n/a
nVidia nForce4 (CK804, MCP04) sata_nv yes yes yes no n/a no n/a n/a
nVidia nForce MCP51, MCP55, MCP61 sata_nv yes [16] no yes no n/a no n/a n/a
nVidia nForce MCP65 , MCP67, MCP68, MCP72, MCP73,
MCP77, MCP78, MCP79, MCP7A, MCP82
ahci AHCI AHCI AHCI no[10] n/a yes n/a n/a
nVidia nForce MCP89 and later ahci AHCI AHCI AHCI yes ? yes n/a n/a
NUFRONT NS2816 none [3] ? ? ? ? ? ? n/a n/a
NXP PNX8332, PNX8335, PNX8336 pnx833x-sata [17] ? ? ? ? ? ? n/a n/a
NXP / Trident PNX8472, PNX8473, PNX8932, PNX8935 none [3] ? ? ? ? ? ? n/a n/a
Oxford Semiconductor / PLX Technology OXE800SE, OXE800DSE ox800sata[17] ? ? ? ? ? ? n/a n/a
Oxford Semiconductor / PLX Technology OXE810SE, OXE810DSE ox810sata [17] ? ? ? ? ? ? n/a n/a
Promise PDC2037x sata_promise no yes yes no n/a no n/a n/a
Promise PDC2057x sata_promise yes yes yes no n/a no n/a n/a
Promise PDC40518 sata_promise yes yes yes no n/a no n/a n/a
Promise PDC20619 sata_promise ? yes no no n/a no n/a n/a
Promise PDC20621 sata_sx4 no yes no no n/a no n/a n/a
Realtek RTD1073 sata_mars[17] ? ? ? ? ? ? n/a n/a
Renesas SH7776 none [3] ? ? ? ? ? ? n/a n/a
ROHM / OKI ML7213, ML7223, ML7223V none [3] ? ? ? ? ? ? n/a n/a
SAMSUNG Exynos 4210 ahci_platform AHCI AHCI AHCI ? ? ? n/a n/a
SAMSUNG SDP93 sata_aspen[17] ? ? ? ? ? ? n/a n/a
Sigma Designs SMP864x, SMP865x sata_tango3[17] no no no no n/a no n/a n/a
Silicon Image / ATI SiI311x, SiI3512 / SB300, SB300C, SB4x0 sata_sil no sorta yes [1] no n/a no n/a n/a
Silicon Image SiI3124, SiI3132, SiI3531 sata_sil24 yes yes yes yes FBS yes n/a n/a
SiS 180, 964, 965 sata_sis no no no no n/a no n/a n/a
SiS 966 sata_sis, ahci AHCI AHCI AHCI yes ? ? n/a n/a
SiS 968 sata_sis, ahci AHCI AHCI AHCI no n/a ? n/a n/a
SiS XSB sata_xenon[17] ? ? ? ? ? ? n/a n/a
Skyviia SV8860 none [3] ? ? ? ? ? ? n/a n/a
ST ConneXt STA2X11, STA2X10 ahci[6] AHCI AHCI AHCI ? ? ? n/a n/a
ST SPEAr1310, SPEAr1340 none [3] AHCI AHCI AHCI yes CBS ? n/a n/a
ST STi7109 sata_stm[17] ? ? ? ? ? ? n/a n/a
Telechips TCC8801, TCC890x sata_snps[17] ? ? ? ? ? ? n/a n/a
Telechips TCC9302 none [3] AHCI AHCI AHCI ? ? ? n/a n/a
TI AM1808, OMAP-L138 ahci_platform AHCI AHCI AHCI yes CBS yes n/a n/a
ULi M1575 ahci yes AHCI yes no n/a yes n/a n/a
ULi M1573, M1697(528x) sata_uli no no no no n/a no n/a n/a
VIA CX700, VX700 family pata_via ? ? ? yes ? ? n/a n/a
VIA VX800, VX800UT pata_via ? ? ? yes ? ? n/a n/a
VIA VX900 sata_via no no yes yes no no n/a n/a
VIA VT642x sata_via no no no no n/a no n/a n/a
VIA VT8237 family sata_via no no yes no n/a no n/a n/a
VIA VT8251 sata_via, ahci no[10] AHCI yes no[10] no no n/a n/a
VIA VT8261 sata_via no no yes no no no n/a n/a
Intel GD31244 sata_vsc yes no no no n/a no n/a n/a
Vitesse VSC7174 sata_vsc yes no no no n/a no n/a n/a
ViXS XCodeHD 3390, XCode 4111, XCode 4115 none [3] ? ? ? ? ? ? n/a n/a
ZORAN SupraXD 170, SupraXD 180 none [3] ? ? ? ? ? ? n/a n/a

[edit] Key

Chip Integrated Circuit or IC family, associated with this column of data
Driver Linux driver(s)
NCQ Supports FPDMA
DMA++ DMA engine is more advanced than standard PCI IDE BMDMA engine
hotplug Supports interrupt-driven device hotplug and hot unplug. Note that hotplug can often be "hacked" via polling, even if hardware does not natively support it
PMP Supports SATA port multipliers
SM PMP Switching Method
  CBS   Supports Command Based Switching port multiplier
  FBS   Supports FIS Based Switching port multiplier
AN Asynchronous Notification (Serial ATA II feature)
NS NCQ Streaming (Serial ATA 3.0 feature)
NQM NCQ Queue Management (Serial ATA 3.0 feature)

SoC ICs have their line highlighted with colour to avoid confusion as those are special low power devices suited for specific tasks and provide minimal user interaction

[edit] Notes

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Not supported by the driver yet
  2. When all 15 devices are attached at PMPs, only 8 devices can use FBS, the rest are limited to CBS.
  3. 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 Currently, no driver has been released for this SATA controller yet
  4. Port multiplier NOT supported in SB600 ASIC revisions A12 and A11
  5. Total number of SATA drives connected directly to the host and behind the port multiplier should not exceed 4
  6. 6.0 6.1 6.2 6.3 6.4 6.5 Generic support via PCI class code match
  7. Maximum NCQ depth is limited to 16 outstanding entries
  8. Stepping A0 is not supported by the current drivers because workarounds are needed to fix errata
  9. 9.0 9.1 9.2 9.3 9.4 Supported only by some components in AHCI or RAID mode
  10. 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 Disabled by the respective driver usually because of hardware flaw or bogus feature
  11. 11.0 11.1 Depends on chip variants. SPM bit in the CAP register is set if supported.
  12. Port multiplier NOT supported in 3400 Chipset
  13. 13.0 13.1 Port multiplier is supported only on SATA port 4 and 5 in AHCI or RAID mode
  14. Possible hardware bug exposed by recent kernels [1]
  15. Asynchronous Notification NOT supported on revisions Bx
  16. NCQ NOT supported in MCP61
  17. 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 Driver is under development
Personal tools