本文转载于 https://ata.wiki.kernel.org/articles/s/a/t/SATA_hardware_features_8af2.html
SATA hardware features
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 |
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
Notes
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Not supported by the driver yet
- ↑ When all 15 devices are attached at PMPs, only 8 devices can use FBS, the rest are limited to CBS.
- ↑ 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
- ↑ Port multiplier NOT supported in SB600 ASIC revisions A12 and A11
- ↑ Total number of SATA drives connected directly to the host and behind the port multiplier should not exceed 4
- ↑ 6.0 6.1 6.2 6.3 6.4 6.5 Generic support via PCI class code match
- ↑ Maximum NCQ depth is limited to 16 outstanding entries
- ↑ Stepping A0 is not supported by the current drivers because workarounds are needed to fix errata
- ↑ 9.0 9.1 9.2 9.3 9.4 Supported only by some components in AHCI or RAID mode
- ↑ 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.0 11.1 Depends on chip variants. SPM bit in the CAP register is set if supported.
- ↑ Port multiplier NOT supported in 3400 Chipset
- ↑ 13.0 13.1 Port multiplier is supported only on SATA port 4 and 5 in AHCI or RAID mode
- ↑ Possible hardware bug exposed by recent kernels [1]
- ↑ Asynchronous Notification NOT supported on revisions Bx
- ↑ NCQ NOT supported in MCP61
- ↑ 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 Driver is under development