In SCSI computer storage or control, a command is the basic unit of communication. The SCSI command architecture was originally defined for parallel SCSI buses but has been carried forward with minimal change for use with Fibre Channel, iSCSI and Serial Attached SCSI.
In SCSI protocol, the initiator sends a SCSI command to the target which then responds. SCSI commands are sent in a command descriptor block (CDB), which consists of a one byte operation code (opcode) followed by five or more bytes containing command-specific parameters. Upon receiving and processing the CDB the target will return a status code byte.
The rest of this article contains a list of SCSI commands, sortable in opcode or description alphabetical order. In the published SCSI standards, commands are designated as "mandatory," "optional" or "vendor-unique." Only the mandatory commands are required of all devices. There are links to detailed descriptions for the more common SCSI commands. Some opcodes produce different, though usually comparable, effects in different device types; for example, opcode 0x01 recalibrates a disk drive by seeking back to physical sector zero, but rewinds the medium in a tape drive.
Code | Command |
---|---|
00 | TEST UNIT READY (mandatory) |
01 | RECALIBRATE or REWIND |
03 | REQUEST SENSE (mandatory except RBC) |
04 | FORMAT UNIT |
05 | READ BLOCK LIMITS |
07 | REASSIGN BLOCKS |
07 | INITIALIZE ELEMENT STATUS |
08 | READ (6) |
0A | WRITE (6) |
0B | SEEK (6) |
0F | READ REVERSE (6) |
10 | WRITE FILEMARKS (6) |
11 | SPACE (6) |
12 | INQUIRY (mandatory) |
13 | VERIFY(6) |
14 | RECOVER BUFFERED DATA |
15 | MODE SELECT (6) |
16 | RESERVE (6) |
17 | RELEASE (6) |
18 | COPY |
19 | ERASE (6) |
1A | MODE SENSE (6) |
1B | START/STOP UNIT |
1B | LOAD UNLOAD |
1C | RECEIVE DIAGNOSTIC RESULTS |
1D | SEND DIAGNOSTIC |
1E | PREVENT/ALLOW MEDIUM REMOVAL |
23 | READ FORMAT CAPACITIES (MMC) |
24 | SET WINDOW |
25 | READ CAPACITY (10) |
28 | READ (10) |
29 | READ GENERATION |
2A | WRITE (10) |
2B | SEEK (10) |
2C | ERASE (10) |
2D | READ UPDATED BLOCK |
2E | WRITE AND VERIFY (10) |
2F | VERIFY (10) |
30 | SEARCH DATA HIGH (10) |
31 | SEARCH DATA EQUAL (10) |
32 | SEARCH DATA LOW (10) |
33 | SET LIMITS (10) |
34 | PRE-FETCH (10) |
35 | SYNCHRONIZE CACHE (10) |
36 | LOCK/UNLOCK CACHE (10) |
37 | READ DEFECT DATA (10) |
37 | INITIALIZE ELEMENT STATUS WITH RANGE |
38 | MEDIUM SCAN |
39 | COMPARE |
3A | COPY AND VERIFY |
3B | WRITE BUFFER |
3C | READ BUFFER |
3D | UPDATE BLOCK |
3E | READ LONG |
3F | WRITE LONG |
40 | CHANGE DEFINITION |
41 | WRITE SAME (10) |
44 | REPORT DENSITY SUPPORT |
45 | PLAY AUDIO (10) |
46 | GET CONFIGURATION |
47 | PLAY AUDIO MSF |
48 | AUDIO TRACK INDEX (not mentioned in T10 overview) |
49 | AUDIO TRACK RELATIVE 10 (not mentioned in T10 overview) |
4A | GET EVENT STATUS NOTIFICATION |
4B | PAUSE / RESUME |
4C | LOG SELECT |
4D | LOG SENSE |
50 | XDWRITE (10) |
51 | XPWRITE (10) /*READ DISC INFORMATION CDB (in mmc5r02c 6.22.2)*/ |
52 | XDREAD (10) |
53 | XDWRITEREAD (10) |
54 | SEND OPC INFORMATION |
55 | MODE SELECT (10) |
56 | RESERVE (10) |
57 | RELEASE (10) |
58 | REPAIR TRACK |
5A | MODE SENSE (10) |
5B | CLOSE TRACK / SESSION |
5C | READ BUFFER CAPACITY |
5D | SEND CUE SHEET |
5E | PERSISTENT RESERVE IN |
5F | PERSISTENT RESERVE OUT |
7E | EXTENDED CDB |
7F | VARIABLE LENGTH CDB |
80 | XDWRITE EXTENDED (16) |
80 | WRITE FILEMARKS (16) |
81 | REBUILD (16) |
81 | READ REVERSE (16) |
82 | REGENERATE (16) |
83 | EXTENDED COPY |
84 | RECEIVE COPY RESULTS |
85 | ATA COMMAND PASS THROUGH (16) |
86 | ACCESS CONTROL IN |
87 | ACCESS CONTROL OUT |
88 | READ (16) |
89 | COMPARE AND WRITE |
8A | WRITE (16) |
8B | ORWRITE |
8C | READ ATTRIBUTE |
8D | WRITE ATTRIBUTE |
8E | WRITE AND VERIFY (16) |
8F | VERIFY (16) |
90 | PRE-FETCH (16) |
91 | SYNCHRONIZE CACHE (16) |
91 | SPACE (16) |
92 | LOCK UNLOCK CACHE (16) |
93 | WRITE SAME (16) |
9E | SERVICE ACTION IN (16) |
9F | SERVICE ACTION OUT (16) |
A0 | REPORT LUNS |
A1 | ATA COMMAND PASS THROUGH (12) |
A2 | SECURITY PROTOCOL IN |
A2 | SEND EVENT (not mentioned in T10 overview) |
A3 | MAINTENANCE IN |
A4 | MAINTENANCE OUT (REPORT_KEY) |
A5 | MOVE MEDIUM |
A5 | PLAY AUDIO 12 (not mentioned in T10 overview) |
A6 | EXCHANGE MEDIUM |
A7 | MOVE MEDIUM ATTACHED |
A8 | READ (12) |
A9 | SERVICE ACTION OUT (12) |
A9 | AUDIO TRACK RELATIVE 12 (not mentioned in T10 overview) |
AA | WRITE (12) |
AB | SERVICE ACTION IN (12) |
AC | ERASE (12) |
AD | READ DVD STRUCTURE |
AE | WRITE AND VERIFY (12) |
AF | VERIFY (12) |
B0 | SEARCH DATA HIGH (12) |
B1 | SEARCH DATA EQUAL (12) |
B2 | SEARCH DATA LOW (12) |
B3 | SET LIMITS (12) |
B4 | READ ELEMENT STATUS ATTACHED |
B5 | SECURITY PROTOCOL OUT |
B6 | SEND VOLUME TAG |
B7 | READ DEFECT DATA (12) |
B8 | READ ELEMENT STATUS |
B9 | READ CD MSF |
BA | REDUNDANCY GROUP (IN) |
BB | REDUNDANCY GROUP (OUT) |
BC | SPARE (IN) |
BC | PLAY CD (not mentioned in T10 overview) |
BD | SPARE (OUT) |
BE | VOLUME SET (IN) |
BF | VOLUME SET (OUT) |