ATA Command Matrix

From OSDev.wiki
Jump to navigation Jump to search

This information is current up to ACS-5, and includes obsolete commands from prior versions of the standard.

Opcode Name Transfer Parameters Standard
00 NOP none 8-bit ATA-1 to present
01
02
03 CFA REQUEST EXTENDED ERROR CODE none 8-bit ATA-4 to present
04
05
06 DATA SET MANAGEMENT DMA 16-bit ACS-2 to present
07 DATA SET MANAGEMENT XL DMA 16-bit ACS-4 to present
08 DEVICE RESET none 8-bit ATA-3 to ACS-3
09
0A
0B REQUEST SENSE DATA EXT none 16-bit ACS-2 to present
0C
0D
0E
0F
10 RECALIBRATE none 8-bit IBM PC/AT to ATA-3
11 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
12 GET PHYSICAL ELEMENT STATUS DMA 16-bit ACS-4 to present
12 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
13 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
14 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
15 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
16 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
17 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
18 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
19 RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1A RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1B RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1C RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1D RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1E RECALIBRATE none 8-bit IBM PC/AT to ATA-2
1F RECALIBRATE none 8-bit IBM PC/AT to ATA-2
20 READ SECTOR(S) PIO 8-bit IBM PC/AT to present
21 READ SECTOR(S) (without retry) PIO 8-bit IBM PC/AT to ATA-4
22 READ LONG PIO 8-bit IBM PC/AT to ATA-3
23 READ LONG (without retry) PIO 8-bit IBM PC/AT to ATA-3
24 READ SECTOR(S) EXT PIO 16-bit ATA-6 to present
25 READ DMA EXT DMA 16-bit ATA-6 to present
26 READ DMA QUEUED EXT queued DMA 16-bit ATA-6 to ATA8-ACS
27 READ NATIVE MAX ADDRESS EXT none 16-bit ATA-6 to ACS-2
28
29 READ MULTIPLE EXT PIO 16-bit ATA-6 to ACS-3
2A READ STREAM DMA EXT DMA 16-bit ATA-7 to present
2B READ STREAM EXT PIO 16-bit ATA-7 to present
2C
2D
2E
2F READ LOG EXT PIO 16-bit ATA-6 to present
30 WRITE SECTOR(S) PIO 8-bit IBM PC/AT to present
31 WRITE SECTOR(S) (without retry) PIO 8-bit IBM PC/AT to ATA-4
32 WRITE LONG PIO 8-bit IBM PC/AT to ATA-3
33 WRITE LONG (without retry) PIO 8-bit IBM PC/AT to ATA-3
34 WRITE SECTOR(S) EXT PIO 16-bit ATA-6 to present
35 WRITE DMA EXT DMA 16-bit ATA-6 to present
36 WRITE DMA QUEUED EXT queued DMA 16-bit ATA-6 to ATA8-ACS
37 SET MAX ADDRESS EXT none 16-bit ATA-6 to ACS-2
38 CFA WRITE SECTORS WITHOUT ERASE PIO 8-bit ATA-4 to present
39 WRITE MULTIPLE EXT PIO 16-bit ATA-6 to ACS-3
3A WRITE STREAM DMA EXT DMA 16-bit ATA-7 to present
3B WRITE STREAM EXT PIO 16-bit ATA-7 to present
3C WRITE VERIFY PIO 8-bit ATA-1 to ATA-3
3D WRITE DMA FUA EXT DMA 16-bit ATA-7 to present
3E WRITE DMA QUEUED FUA EXT queued DMA 16-bit ATA-7 to ATA8-ACS
3F WRITE LOG EXT PIO 16-bit ATA-6 to present
40 READ VERIFY SECTOR(S) none 8-bit IBM PC/AT to present
41 READ VERIFY SECTOR(S) (without retry) none 8-bit IBM PC/AT to ATA-4
42 READ VERIFY SECTOR(S) EXT none 16-bit ATA-6 to present
43
44 ZERO EXT none 16-bit ACS-4 to present
45 WRITE UNCORRECTABLE EXT none 16-bit ATA8-ACS to present
46
47 READ LOG DMA EXT DMA 16-bit ATA8-ACS to present
48
49
4A ZAC Management In DMA 16-bit ACS-4 to present
4B
4C
4D
4E
4F
50 FORMAT TRACK PIO 8-bit IBM PC/AT to ATA-3
51 CONFIGURE STREAM none 16-bit ATA-7 to present
52
53
54
55
56
57 WRITE LOG DMA EXT DMA 16-bit ATA8-ACS to present
58
59
5A
5B TRUSTED NON-DATA none 8-bit ACS-2 to present
5C TRUSTED RECEIVE PIO 8-bit ATA8-ACS to present
5D TRUSTED RECEIVE DMA DMA 8-bit ATA8-ACS to present
5E TRUSTED SEND PIO 8-bit ATA8-ACS to present
5F TRUSTED SEND DMA DMA 8-bit ATA8-ACS to present
60 READ FPDMA QUEUED queued DMA 16-bit ATA8-ACS to present
61 WRITE FPDMA QUEUED queued DMA 16-bit ATA8-ACS to present
62
63 NCQ NON-DATA none 16-bit ACS-3 to present
64 SEND FPDMA QUEUED queued DMA 16-bit ACS-3 to present
65 RECEIVE FPDMA QUEUED queued DMA 16-bit ACS-3 to present
66
67
68
69
6A
6B
6C
6D
6E
6F
70 SEEK none 8-bit IBM PC/AT to ATA-6
71 SEEK none 8-bit IBM PC/AT to ATA-2
72 SEEK none 8-bit IBM PC/AT to ATA-2
73 SEEK none 8-bit IBM PC/AT to ATA-2
74 SEEK none 8-bit IBM PC/AT to ATA-2
75 SEEK none 8-bit IBM PC/AT to ATA-2
76 SEEK none 8-bit IBM PC/AT to ATA-2
77 SET DATE & TIME EXT none 16-bit ACS-3 to present
77 SEEK none 8-bit IBM PC/AT to ATA-2
78 ACCESSIBLE MAX ADDRESS CONFIGURATION none 16-bit ACS-3 to present
78 SEEK none 8-bit IBM PC/AT to ATA-2
79 SEEK none 8-bit IBM PC/AT to ATA-2
7A SEEK none 8-bit IBM PC/AT to ATA-2
7B SEEK none 8-bit IBM PC/AT to ATA-2
7C REMOVE ELEMENT AND TRUNCATE none 16-bit ACS-4 to present
7C SEEK none 8-bit IBM PC/AT to ATA-2
7D RESTORE ELEMENTS AND REBUILD none 16-bit ACS-5 to present
7D SEEK none 8-bit IBM PC/AT to ATA-2
7E REMOVE ELEMENT AND MODIFY ZONES none 16-bit ACS-5 to present
7E SEEK none 8-bit IBM PC/AT to ATA-2
7F SEEK none 8-bit IBM PC/AT to ATA-2
80 Vendor Specific
81 Vendor Specific
82 Vendor Specific
83 Vendor Specific
84 Vendor Specific
85 Vendor Specific
86 Vendor Specific
87 CFA TRANSLATE SECTOR PIO 8-bit ATA-4 to present
88 Vendor Specific
89 Vendor Specific
8A Vendor Specific
8B Vendor Specific
8C Vendor Specific
8D Vendor Specific
8E Vendor Specific
8F Vendor Specific
90 EXECUTE DEVICE DIAGNOSTIC none 8-bit IBM PC/AT to present
91 INITIALIZE DEVICE PARAMETERS none 8-bit IBM PC/AT to ATA-5
92 DOWNLOAD MICROCODE PIO 8-bit ATA-2 to present
93 DOWNLOAD MICROCODE DMA DMA 8-bit ACS-2 to present
94 STANDBY IMMEDIATE none 8-bit ATA-1 to ATA-3
95 IDLE IMMEDIATE none 8-bit ATA-1 to ATA-3
96 MUTATE EXT none 16-bit ACS-5 to present
96 STANDBY none 8-bit ATA-1 to ATA-3
97 IDLE none 8-bit ATA-1 to ATA-3
98 CHECK POWER MODE none 8-bit ATA-1 to ATA-3
99 SLEEP none 8-bit ATA-1 to ATA-3
9A Vendor Specific
9B
9C
9D
9E
9F ZAC Management Out DMA 16-bit ACS-4 to present
A0 PACKET packet 8-bit ATA-3 to ACS-3
A1 IDENTIFY PACKET DEVICE PIO 8-bit ATA-3 to ACS-3
A2 SERVICE varies 8-bit ATA-3 to ATA8-ACS
A3
A4
A5
A6
A7
A8
A9
AA
AB
AC
AD
AE
AF
B0 SMART PIO 8-bit ATA-3 to present
B1 Device Configuration Overlay PIO 8-bit ATA-6 to ACS-2
B2 SET SECTOR CONFIGURATON EXT none 16-bit ACS-4 to present
B3
B4 Sanitize Device none 16-bit ACS-2 to present
B5
B6 NV Cache DMA 16-bit ATA8-ACS to ACS-2
B7 Reserved for CFA
B8 Reserved for CFA
B9 Reserved for CFA
BA Reserved for CFA
BB Reserved for CFA
BC
BD
BE
BF
C0 CFA ERASE SECTORS none 8-bit ATA-4 to ACS-2
C1 Vendor Specific
C2 Vendor Specific
C3 Vendor Specific
C4 READ MULTIPLE PIO 8-bit ATA-1 to ACS-3
C5 WRITE MULTIPLE PIO 8-bit ATA-1 to ACS-3
C6 SET MULTIPLE MODE none 8-bit ATA-1 to ACS-3
C7 READ DMA QUEUED queued DMA 8-bit ATA-4 to ATA8-ACS
C8 READ DMA DMA 8-bit ATA-1 to present
C9 READ DMA (without retry) DMA 8-bit ATA-1 to ATA-4
CA WRITE DMA DMA 8-bit ATA-1 to present
CB WRITE DMA (without retry) DMA 8-bit ATA-1 to ATA-4
CC WRITE DMA QUEUED queued DMA 8-bit ATA-4 to ATA8-ACS
CD CFA WRITE MULTIPLE WITHOUT ERASE PIO 8-bit ATA-4 to present
CE WRITE MULTIPLE FUA EXT PIO 16-bit ATA-7 to ACS-3
CF
D0
D1 CHECK MEDIA CARD TYPE none 8-bit ATA-6 to ACS-2
D2
D3
D4
D5
D6
D7
D8
D9
DA GET MEDIA STATUS none 8-bit ATA-3 to ATA-7
DB ACKNOWLEDGE MEDIA CHANGE none 8-bit ATA-1 to ATA-2
DC BOOT - POST-BOOT none 8-bit ATA-1 to ATA-2
DD BOOT - PRE-BOOT none 8-bit ATA-1 to ATA-2
DE MEDIA LOCK none 8-bit ATA-1 to ATA-7
DF MEDIA UNLOCK none 8-bit ATA-1 to ATA-7
E0 STANDBY IMMEDIATE none 8-bit ATA-1 to present
E1 IDLE IMMEDIATE none 8-bit ATA-1 to present
E2 STANDBY none 8-bit ATA-1 to present
E3 IDLE none 8-bit ATA-1 to present
E4 READ BUFFER PIO 8-bit ATA-1 to present
E5 CHECK POWER MODE none 8-bit ATA-1 to present
E6 SLEEP none 8-bit ATA-1 to present
E7 FLUSH CACHE none 8-bit ATA-4 to present
E8 WRITE BUFFER PIO 8-bit ATA-1 to present
E9 READ BUFFER DMA DMA 8-bit ACS-2 to present
E9 WRITE SAME 8-bit ATA-1 to ATA-2
EA FLUSH CACHE EXT none 8-bit ATA-6 to present
EB WRITE BUFFER DMA DMA 8-bit ACS-2 to present
EC IDENTIFY DEVICE PIO 8-bit ATA-1 to present
ED MEDIA EJECT none 8-bit ATA-1 to ATA-7
EE IDENTIFY DEVICE DMA DMA 8-bit ATA-3
EF SET FEATURES none 8-bit ATA-1 to present
F0 Vendor Specific
F1 SECURITY SET PASSWORD PIO 8-bit ATA-3 to present
F2 SECURITY UNLOCK PIO 8-bit ATA-3 to present
F3 SECURITY ERASE PREPARE none 8-bit ATA-3 to present
F4 SECURITY ERASE UNIT PIO 8-bit ATA-3 to present
F5 SECURITY FREEZE LOCK none 8-bit ATA-3 to present
F6 SECURITY DISABLE PASSWORD PIO 8-bit ATA-3 to present
F7 Vendor Specific
F8 READ NATIVE MAX ADDRESS none 8-bit ATA-4 to ACS-2
F9 SET MAX ADDRESS none 8-bit ATA-4 to ACS-2
FA Vendor Specific
FB Vendor Specific
FC Vendor Specific
FD Vendor Specific
FE Vendor Specific
FF Vendor Specific