SCSI kommando
I SCSI- datorlagring använder datorer och lagringsenheter en klient-server-kommunikationsmodell. Datorn är en klient som begär lagringsenheten att utföra en tjänst, t.ex. att läsa eller skriva data. SCSI-kommandoarkitekturen definierades ursprungligen för parallella SCSI- bussar men har förts vidare med minimal förändring för användning med Fibre Channel , iSCSI , Serial Attached SCSI och andra transportlager.
I SCSI-protokollet skickar initiatorn en SCSI-kommandoinformationsenhet till målenheten . Datainformationsenheter kan sedan överföras mellan datorn och enheten. Slutligen skickar enheten en svarsinformationsenhet till datorn.
SCSI-kommandon skickas i ett kommandodeskriptorblock (CDB), som består av en operationskod på en byte (opcode) följt av fem eller fler byte som innehåller kommandospecifika parametrar. Vid mottagande och bearbetning av CDB kommer enheten att returnera en statuskodbyte och annan information.
Resten av den här artikeln innehåller en lista med SCSI-kommandon, sorterbara i op-kod eller beskrivning i alfabetisk ordning. I de publicerade SCSI-standarderna är kommandon betecknade som "obligatoriska", "valfria" eller "leverantörsunika". Endast de obligatoriska kommandona krävs för alla enheter. Det finns länkar till detaljerade beskrivningar för de vanligare SCSI-kommandona. Vissa opkoder ger olika, men vanligtvis jämförbara, effekter i olika enhetstyper; till exempel, opcode 0x01 omkalibrerar en diskenhet genom att söka tillbaka till fysisk sektor noll, men spolar tillbaka mediet i en bandenhet.
SCSI-kommandolängder
Ursprungligen specificerade de mest signifikanta 3 bitarna av en SCSI-opkod längden på CDB. När CDB:er med variabel längd skapades ändrades emellertid denna överensstämmelse, och hela opkoden måste undersökas för att bestämma CDB-längden. Längderna är som följer:
Opcode (hex ) | Längd |
---|---|
00h till 1Fh | 6 |
20h till 5Fh | 10 |
60h till 7Dh | reserverad |
7 Eh | variabel (mer än 16 byte) |
7Fh | förlängd (variabel längd; kan innehålla en eller flera CDB) |
80h till 9Fh | 16 |
A0h till BFh | 12 |
C0h till FFh | leverantörsspecifik |
Lista över SCSI-kommandon
När ett kommando är definierat i flera CDB-storlekar, anges längden på CDB:n inom parentes efter kommandonamnet, t.ex. READ(6) och READ(10).
Koda | Kommando |
---|---|
00 | TESTENHETEN KLAR |
01 | SPOLA TILLBAKA |
03 | BEGÄR SENSE |
04 | FORMATERA |
05 | LÄS BLOCKGRÄNSER |
07 | ÅTERTILLDELA BLOCK |
07 | INITIALISERA ELEMENTSTATUS |
08 | LÄS(6) |
0A | SKRIV(6) |
0B | SÖK(6) |
0F | LÄS BAKÅT(6) |
10 | SKRIV FILMÄRKEN(6) |
11 | MELLANSLAG(6) |
12 | FÖRFRÅGAN |
13 | VERIFIERA(6) |
14 | ÅTERSTÄLL BUFFERADE DATA |
15 | LÄGEVÄLJ(6) |
16 | RESERVERA(6) |
17 | RELEASE(6) |
18 | KOPIERA |
19 | RADERA (6) |
1A | MODESENS (6) |
IB | START STOPP ENHET |
IB | LADDA LADDA |
1C | FÅ DIAGNOSTISKA RESULTAT |
1D | SKICKA DIAGNOSTIK |
1E | FÖRHINDRA LÅT MEDELBORTTAGNING |
23 | LÄS FORMATKAPACITETER |
25 | LÄS KAPACITET(10) |
28 | LÄS(10) |
29 | LÄS GENERATION |
2A | SKRIV(10) |
2B | SÖK(10) |
2B | LOCATE(10) |
2C | RADERA(10) |
2D | LÄS UPPDATERAD BLOCK |
2E | SKRIV OCH VERIFIERA(10) |
2F | VERIFIERA(10) |
33 | SÄTTA GRÄNSER(10) |
34 | FÖRHÄMTNING(10) |
34 | LÄS POSITION |
35 | SYNKRONISERA CACHE(10) |
36 | LÅS LÅS UPP CACHE(10) |
37 | LÄS DEFEKT DATA(10) |
37 | INITIALISERA ELEMENTSTATUS MED Räckvidd |
38 | MEDEL SKANNING |
39 | JÄMFÖRA |
3A | KOPIERA OCH VERIFIERA |
3B | SKRIV BUFFERT |
3C | LÄS BUFFERT |
3D | UPPDATERA BLOCK |
3E | LÄS LÅNGT(10) |
3F | SKRIV LÅNGT(10) |
40 | ÄNDRA DEFINITION |
41 | SKRIV SAMMA(10) |
42 | AVMAP |
43 | LÄS TOC/PMA/ATIP |
44 | RAPPORTTÄTHETSSTÖD |
45 | SPELA LJUD(10) |
46 | HÄMTA KONFIGURATION |
47 | SPELA LJUD MSF |
48 | SANITERA |
4A | FÅ MEDDELANDEN FÖR HÄNDELSESTATUS |
4B | PAUSE/RESUMA |
4C | LOGG VÄLJ |
4D | LOGG SINNE |
50 | XDWRITE(10) |
51 | XPWRITE(10) |
51 | LÄS SKIVINFORMATION |
52 | XDREAD(10) |
53 | XDWRITEREAD(10) |
54 | SKICKA OPC-INFORMATION |
55 | LÄGEVÄLJ(10) |
56 | RESERVERA(10) |
57 | RELEASE(10) |
58 | REPARATIONSSPÅR |
5A | LÄGESINNE(10) |
5B | STÄNG SPÅR/SESSION |
5C | LÄS BUFFERTKAPACITET |
5D | SKICKA CUE SHEET |
5E | IDRIG RESERVERA IN |
5F | IDRIG RESERVA UTE |
7E | utökad CDB |
7F | variabel längd CDB |
80 | XDWRITE FÖRLÄNGD(16) |
80 | SKRIV FILMÄRKEN(16) |
81 | LÄS BAKÅT(16) |
83 | Tredje parts Copy OUT-kommandon |
84 | Tredje parts Copy IN-kommandon |
85 | ATA-GENOMFÖRING(16) |
86 | ÅTKOMSTKONTROLL IN |
87 | ÅTKOMSTKONTROLL UT |
88 | LÄS(16) |
89 | JÄMFÖR OCH SKRIV |
8A | SKRIV(16) |
8B | ELLER SKRIVA |
8C | LÄS ATTRIBUT |
8D | SKRIV ATTRIBUT |
8E | SKRIV OCH VERIFIERA(16) |
8F | VERIFIERA(16) |
90 | FÖRHÄMTNING(16) |
91 | SYNKRONISERA CACHE(16) |
91 | MELLANSLAG(16) |
92 | LÅS LÅS UPP CACHE(16) |
92 | LOCATE(16) |
93 | SKRIV SAMMA(16) |
93 | RADERA(16) |
9D | SERVICE ÅTGÄRD BIDIRECTIONELL |
9E | SERVICE ÅTGÄRD I(16) |
9F | SERVICE ACTION OUT(16) |
A0 | RAPPORTERA LUNS |
A1 | ATA-GENOMFÖRING(12) |
A2 | SÄKERHETSPROTOKOLL IN |
A3 | UNDERHÅLL IN |
A4 | UNDERHÅLL UTE |
A4 | RAPPORTNYCKEL |
A5 | FLYTTA MEDEL |
A5 | SPELA LJUD 12 |
A6 | BYTESMEDIA |
A7 | MOVE MEDIUM BILDAD |
A8 | LÄS(12) |
A9 | SERVICE ACTION OUT(12) |
AA | SKRIV(12) |
AB | SERVICE ÅTGÄRD I(12) |
AC | RADERA(12) |
AD | LÄS DVD STRUKTUR |
AE | SKRIV OCH VERIFIERA(12) |
AF | VERIFIERA(12) |
B0 | SÖK DATA HÖG(12) |
B1 | SÖK DATA LIKA(12) |
B2 | SÖKDATA LÅG(12) |
B3 | SÄTTA GRÄNSER(12) |
B4 | LÄS ELEMENTSTATUS BILAGADE |
B5 | SÄKERHETSPROTOKOLL UT |
B6 | SKICKA VOLYMTAGG |
B7 | LÄS DEFEKT DATA(12) |
B8 | LÄS ELEMENTSTATUS |
B9 | LÄS CD MSF |
BA | REDUNDANSGRUPP (IN) |
BB | REDUNDANSGRUPP (UT) |
före Kristus | RESERVARE (IN) |
BD | SPARE (UT) |
VARA | VOLYM SET (IN) |
BF | VOLYM SET (UT) |