SCSI-kommando - SCSI command
I SCSI- datorlagring använder datorer och lagringsenheter en klientservermodell för kommunikation. Datorn är en klient som begär lagringsenheten att utföra en tjänst, t.ex. att läsa eller skriva data. Den SCSI kommandot arkitekturen definierades ursprungligen för parallella SCSI- bussar, men har överförts med minimal förändring för användning med Fibre Channel , iSCSI , Serial Attached SCSI och andra transportlager.
I SCSI-protokollet skickar initiativtagaren en SCSI-kommandoinformationsenhet till målenheten . Datainformationsenheter kan sedan överföras mellan datorn och enheten. Slutligen skickar enheten en svarinformationsenhet till datorn.
SCSI-kommandon skickas i ett kommandobeskrivningsblock (CDB), som består av en en byte-operationskod (opcode) följt av fem eller flera byte som innehåller kommandospecifika parametrar. Vid mottagning och bearbetning av CDB kommer enheten att returnera en statuskodbyte och annan information.
Resten av denna artikel innehåller en lista över SCSI-kommandon, sorterbara i opcode eller beskrivning alfabetisk ordning. I de publicerade SCSI-standarderna betecknas kommandon som "obligatorisk", "valfri" eller "leverantörs unik." Endast de obligatoriska kommandona krävs för alla enheter. Det finns länkar till detaljerade beskrivningar för de vanligare SCSI-kommandona. Vissa opcoder ger olika, men vanligtvis jämförbara, effekter i olika enhetstyper; till exempel kalibrerar opcode 0x01 en hårddisk genom att söka tillbaka till den fysiska sektornul, men spolar upp mediet igen i en banddisk.
SCSI-kommandolängder
Ursprungligen specificerade de mest signifikanta 3 bitarna av en SCSI-opcode längden på CDB. När CDB: er med variabel längd skapades ändrades emellertid denna korrespondens, och hela opoden 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 |
| 7EH | variabel (mer än 16 byte) |
| 7Fh | utökad (variabel längd; kan innehålla en eller flera CDB: er) |
| 80h till 9Fh | 16 |
| A0h till BFh | 12 |
| C0h till FFh | leverantörsspecifik |
Lista över SCSI-kommandon
När ett kommando definieras i flera CDB-storlekar anges CDB: s längd inom parentes efter kommandonamnet, t.ex. LÄS (6) och LÄS (10).
| Koda | Kommando |
|---|---|
| 00 | TESTENHET KLAR |
| 01 | SPOLA TILLBAKA |
| 03 | BEGÄRAN SENSE |
| 04 | FORMATERA |
| 05 | LÄS BLOCKGRÄNSER |
| 07 | OMSTÄLLA BLOCKER |
| 07 | INITIALISERA elementstatus |
| 08 | LÄS (6) |
| 0A | WRITE (6) |
| 0B | SEEK (6) |
| 0F | LÄS OMVÄNDNING (6) |
| 10 | SKRIV FILEMARKS (6) |
| 11 | SPACE (6) |
| 12 | FÖRFRÅGAN |
| 13 | VERIFY (6) |
| 14 | ÅTERBYGGA BUFFERADE DATA |
| 15 | LÄGE VÄLJ (6) |
| 16 | RESERV (6) |
| 17 | RELEASE (6) |
| 18 | KOPIERA |
| 19 | RADERING (6) |
| 1A | MODE SENSE (6) |
| 1B | STARTA STOPPENHET |
| 1B | LADDA LADDA |
| 1C | FÅ DIAGNOSTISKA RESULTAT |
| 1D | SKicka DIAGNOSTIK |
| 1E | FÖRHÅLLA LÅTT MEDIUM BORTTAGNING |
| 23 | LÄS FORMATKAPACITETER |
| 25 | LÄS KAPACITET (10) |
| 28 | LÄS (10) |
| 29 | LÄS GENERATION |
| 2A | WRITE (10) |
| 2B | SEEK (10) |
| 2B | LOCATE (10) |
| 2C | ERASE (10) |
| 2D | LÄS UPPDATERAD BLOCK |
| 2E | SKRIFT OCH VERIFIERA (10) |
| 2F | VERIFY (10) |
| 33 | SÄTT GRÄNSER (10) |
| 34 | PRE-FETCH (10) |
| 34 | LÄS POSITION |
| 35 | SYNKRONISERA CACHE (10) |
| 36 | LOCK LÅS upp CACHE (10) |
| 37 | LÄS DEFEKTA DATA (10) |
| 37 | INITIALISERA STATUS MED RANGE |
| 38 | MEDIUM SCAN |
| 39 | JÄMFÖRA |
| 3A | KOPIERA OCH VERIFIERA |
| 3B | SKRIVA BUFFER |
| 3C | LÄS BUFFER |
| 3D | UPPDATERA BLOCK |
| 3E | LÄS LÅNG (10) |
| 3F | SKRIV LÅNG (10) |
| 40 | Byt DEFINITION |
| 41 | SKRIV SAMMAN (10) |
| 42 | UNMAP |
| 43 | LÄS TOC / PMA / ATIP |
| 44 | RAPPORT DENSITETSUPPORT |
| 45 | SPELA LJUD (10) |
| 46 | FÅ KONFIGURATION |
| 47 | SPELA LJUD MSF |
| 48 | RENSA |
| 4A | FÅ HÄNDELSER STATUS MEDDELANDE |
| 4B | PAUS / FORTSÄTT |
| 4C | LOGG VÄLJ |
| 4D | LOGGSENSE |
| 50 | XDWRITE (10) |
| 51 | XPWRITE (10) |
| 51 | LÄS DISCINFORMATION |
| 52 | XDREAD (10) |
| 53 | XDWRITEREAD (10) |
| 54 | Skicka OPC-INFORMATION |
| 55 | LÄGE VÄLJ (10) |
| 56 | RESERV (10) |
| 57 | RELEASE (10) |
| 58 | Reparera spår |
| 5A | MODE SENSE (10) |
| 5B | STÄNG SPÅR / Session |
| 5C | LÄS BUFFERKAPACITET |
| 5D | SKicka CUE-BLAD |
| 5E | PERSISTENT RESERVE IN |
| 5F | PERSISTENT RESERVE UT |
| 7E | utökad CDB |
| 7F | variabel längd CDB |
| 80 | XDWRITE EXTENDED (16) |
| 80 | SKRIV FILEMARKS (16) |
| 81 | LÄS OMVÄNDNING (16) |
| 83 | Tredjeparts Copy OUT-kommandon |
| 84 | Tredjeparts Copy IN-kommandon |
| 85 | ATA PASS-THROUGH (16) |
| 86 | ACCESS CONTROL IN |
| 87 | ACCESS CONTROL OUT |
| 88 | LÄS (16) |
| 89 | JÄMFÖRA OCH SKRIVA |
| 8A | WRITE (16) |
| 8B | ORWRITE |
| 8C | LÄS ATTRIBUTE |
| 8D | SKRIFT ATTRIBUT |
| 8E | SKRIFT OCH VERIFIERA (16) |
| 8F | VERIFY (16) |
| 90 | PRE-FETCH (16) |
| 91 | SYNKRONISERA CACHE (16) |
| 91 | SPACE (16) |
| 92 | LOCK UNLOCK CACHE (16) |
| 92 | LOCATE (16) |
| 93 | SKRIV SAMME (16) |
| 93 | ERASE (16) |
| 9D | SERVICE ÅTGÄRD BIDIRECTIONAL |
| 9E | SERVICE ÅTGÄRD I (16) |
| 9F | SERVICE ÅTGÄRD UT (16) |
| A0 | RAPPORT LUNS |
| A1 | ATA PASS-THROUGH (12) |
| A2 | SÄKERHETSPROTOKOLL IN |
| A3 | UNDERHÅLL IN |
| A4 | UNDERHÅLL UT |
| A4 | RAPPORTKNAPP |
| A5 | FLYTTA MEDIUM |
| A5 | SPELA LJUD 12 |
| A6 | Byt ut medium |
| A7 | FLYTT MEDIUM FÖRTAGET |
| A8 | LÄS (12) |
| A9 | SERVICE ÅTGÄRD UT (12) |
| AA | WRITE (12) |
| AB | SERVICE ÅTGÄRD I (12) |
| AC | ERASE (12) |
| AD | LÄS DVD-STRUKTUR |
| AE | SKRIFT OCH VERIFIERA (12) |
| AF | VERIFY (12) |
| B0 | SÖK DATA HÖG (12) |
| B1 | SÖK DATA Lika (12) |
| B2 | SÖK DATA LÅG (12) |
| B3 | SÄTT GRÄNSER (12) |
| B4 | LÄS ETT LÄGGD STATUS |
| B5 | SÄKERHETSPROTOKOLL UT |
| B6 | SKICKA VOLUMETAGG |
| B7 | LÄS DEFEKTA DATA (12) |
| B8 | LÄS Elementstatus |
| B9 | LÄS CD MSF |
| BA | REDUNDANCY GROUP (IN) |
| BB | REDUNDANCY GROUP (OUT) |
| före Kristus | RESERV (IN) |
| BD | RESERV (UT) |
| VARA | Volyminställning (IN) |
| BF | VOLUMINSTÄLLNING (UT) |