SCSI-kommando - SCSI command
I SCSI- computerlagring bruger computere og lagerenheder en klient-servermodel for kommunikation. Computeren er en klient, der anmoder lagerenheden om at udføre en service, f.eks. Til at læse eller skrive data. Den SCSI-kommandoen arkitektur blev oprindeligt defineret for parallelle SCSI busser, men er blevet fremført med en minimal ændring til brug med Fibre Channel , iSCSI , Serial Attached SCSI og andre transportmidler lag.
I SCSI-protokollen sender initiativtageren en SCSI-kommandoinformationsenhed til målenheden . Datainformationsenheder kan derefter overføres mellem computeren og enheden. Endelig sender enheden en svarinformationsenhed til computeren.
SCSI-kommandoer sendes i en kommandobeskrivelsesblok (CDB), der består af en én byte-operationskode (opcode) efterfulgt af fem eller flere bytes, der indeholder kommandospecifikke parametre. Ved modtagelse og behandling af CDB returnerer enheden en statuskodebyt og anden information.
Resten af denne artikel indeholder en liste over SCSI-kommandoer, der kan sorteres i opcode eller alfabetisk rækkefølge. I de offentliggjorte SCSI-standarder betegnes kommandoer som "obligatorisk", "valgfri" eller "leverandør-unik." Kun de obligatoriske kommandoer kræves af alle enheder. Der er links til detaljerede beskrivelser for de mere almindelige SCSI-kommandoer. Nogle opcodes producerer forskellige, men normalt sammenlignelige, effekter i forskellige enhedstyper; for eksempel kalibrerer opcode 0x01 et diskdrev ved at søge tilbage til den fysiske sektornul, men spoler mediet tilbage i et bånddrev.
SCSI-kommandolængder
Oprindeligt specificerede de mest markante 3 bit af en SCSI-opcode længden af CDB. Når CDB'er med variabel længde blev oprettet, blev denne korrespondance imidlertid ændret, og hele opkoden skal undersøges for at bestemme CDB-længden. Længderne er som følger:
| Opcode (hex) | Længde |
|---|---|
| 00h til 1Fh | 6 |
| 20h til 5Fh | 10 |
| 60 til 7Dh | reserveret |
| 7EH | variabel (mere end 16 byte) |
| 7Fh | udvidet (variabel længde; kan indeholde en eller flere CDB'er) |
| 80h til 9Fh | 16 |
| A0h til BFh | 12 |
| C0h til FFh | leverandørspecifik |
Liste over SCSI-kommandoer
Når en kommando er defineret i flere CDB-størrelser, gives CDB'ens længde i parentes efter kommandonavnet, f.eks. LÆS (6) og LÆS (10).
| Kode | Kommando |
|---|---|
| 00 | TESTENHED KLAR |
| 01 | SPOLE TILBAGE |
| 03 | ANMODNINGSSENSE |
| 04 | FORMAT |
| 05 | LÆS BLOKKEGRÆNSER |
| 07 | GENNEMGANGSBLOKKER |
| 07 | INDLEDNING AF STATUS |
| 08 | LÆS (6) |
| 0A | WRITE (6) |
| 0B | SEEK (6) |
| 0F | LÆS OMVENDIG (6) |
| 10 | SKRIV FILEMARKS (6) |
| 11 | SPACE (6) |
| 12 | FORESPØRGSEL |
| 13 | VERIFY (6) |
| 14 | RECOVER BUFFERED DATA |
| 15 | MODE SELECT (6) |
| 16 | RESERVE (6) |
| 17 | RELEASE (6) |
| 18 | KOPI |
| 19 | ERASE (6) |
| 1A | MODE SENSE (6) |
| 1B | START STOP ENHED |
| 1B | LÆS ULAD |
| 1C | MODTAG DIAGNOSTISKE RESULTATER |
| 1D | SEND DIAGNOSTIK |
| 1E | FOREBYGG TIL AT FJERNE MEDIUM |
| 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 OPDATERET BLOCK |
| 2E | SKRIFT OG VERIFIK (10) |
| 2F | VERIFY (10) |
| 33 | SÆT GRÆNSER (10) |
| 34 | PRE-FETCH (10) |
| 34 | LÆS POSITION |
| 35 | Synkroniser CACHE (10) |
| 36 | LÅS UNLOCK CACHE (10) |
| 37 | LÆS DEFEKT DATA (10) |
| 37 | INDLEDNING AF STATUS MED RANGE |
| 38 | MEDIUM SCAN |
| 39 | SAMMENLIGNE |
| 3A | KOPIER OG VERIFIER |
| 3B | SKRIV BUFFER |
| 3C | LÆS BUFFER |
| 3D | UPDATE BLOCK |
| 3E | LÆS LANG (10) |
| 3F | SKRIFT LANG (10) |
| 40 | ÆNDRE DEFINITION |
| 41 | SKRIFT SAMME (10) |
| 42 | fjern kortlægning |
| 43 | LÆS TOC / PMA / ATIP |
| 44 | RAPPORT DENSITETSUPPORT |
| 45 | SPIL AUDIO (10) |
| 46 | FÅ KONFIGURATION |
| 47 | SPIL AUDIO MSF |
| 48 | RENS |
| 4A | FÅ MEDDELELSE OM HENDELSESSTATUS |
| 4B | PAUSE / RESUME |
| 4C | LOG VÆLG |
| 4D | LOG SENSE |
| 50 | XDWRITE (10) |
| 51 | XPWRITE (10) |
| 51 | LÆS DISKINFORMATION |
| 52 | XDREAD (10) |
| 53 | XDWRITEREAD (10) |
| 54 | SEND OPC INFORMATION |
| 55 | MODE SELECT (10) |
| 56 | RESERVE (10) |
| 57 | RELEASE (10) |
| 58 | Reparationsspor |
| 5A | MODE SENSE (10) |
| 5B | LUKK spor / session |
| 5C | LÆS BUFFERKAPACITET |
| 5D | SEND CUE-BLAD |
| 5E | PERSISTENT RESERVE I |
| 5F | PERSISTENT RESERVE OUT |
| 7E | udvidet CDB |
| 7F | variabel længde CDB |
| 80 | XDWRITE UDVIDT (16) |
| 80 | SKRIV FILEMARKS (16) |
| 81 | LÆS OMVENDIG (16) |
| 83 | Tredjeparts Copy OUT-kommandoer |
| 84 | Tredjeparts Copy IN-kommandoer |
| 85 | ATA PASS-THROUGH (16) |
| 86 | TILGANGSKONTROL IN |
| 87 | TILGANG KONTROL UD |
| 88 | LÆS (16) |
| 89 | Sammenlign og skriv |
| 8A | WRITE (16) |
| 8B | ORWRITE |
| 8C | LÆS ATTRIBUTE |
| 8D | SKRIV ATTRIBUTE |
| 8E | SKRIFT OG VERIFIK (16) |
| 8F | VERIFY (16) |
| 90 | PRE-FETCH (16) |
| 91 | Synkroniser CACHE (16) |
| 91 | SPACE (16) |
| 92 | LÅS UNLOCK CACHE (16) |
| 92 | LOCATE (16) |
| 93 | SKRIFT SAMME (16) |
| 93 | ERASE (16) |
| 9D | SERVICESAKTION BIDIRECTIONAL |
| 9E | TJENESTEHANDLING I (16) |
| 9F | SERVICESAKTION UD (16) |
| A0 | RAPPORT LUNS |
| A1 | ATA PASS-THROUGH (12) |
| A2 | SIKKERHEDSPROTOKOL IN |
| A3 | VEDLIGEHOLDELSE I |
| A4 | VEDLIGEHOLDELSE UD |
| A4 | RAPPORTNøgle |
| A5 | FLYG MEDIUM |
| A5 | SPIL AUDIO 12 |
| A6 | UDSKIFT MEDIUM |
| A7 | FLYG MEDIUM AT BEMÆRKET |
| A8 | LÆS (12) |
| A9 | SERVICESAKTION UD (12) |
| AA | WRITE (12) |
| AB | TJENESTEHANDLING I (12) |
| AC | ERASE (12) |
| AD | LÆS DVD-STRUKTUR |
| AE | SKRIFT OG VERIFIK (12) |
| AF | VERIFY (12) |
| B0 | SØG DATA HØJ (12) |
| B1 | SØG DATA LIGE (12) |
| B2 | SØG DATA LAV (12) |
| B3 | SÆT GRÆNSER (12) |
| B4 | LÆS element, der er vedhæftet |
| B5 | SIKKERHEDSPROTOKOL UD |
| B6 | SEND VOLUMETAG |
| B7 | LÆS DEFEKT DATA (12) |
| B8 | LÆS elementstatus |
| B9 | LÆS CD MSF |
| BA | REDUNDANCY GROUP (IN) |
| BB | REDUNDANSIERINGSGRUPPE (UD) |
| BC | RESERVEDEL (IN) |
| BD | RESERVEDEL (UD) |
| VÆRE | VOLUMESÆT (IN) |
| BF | VOLUM SET (OUT) |