IBM PC

       

Система команд SCSI


Система команд SCSI включает общие команды, применимые для устройств всех классов, и специфические для каждого класса. Все команды делятся на три категории:

  • обязательные (mandatory);
  • дополнительные (optional);
  • фирменные (vendor specific).
  • Любое SCSI-устройство должно поддерживать обязательные команды общего набора и своего класса, чем обеспечивается высокий уровень совместимости. Команды SCSI для устройств прямого доступа (Direct-Access Devices) приведены в табл.7.

    Таблица 7

    Команды SCSI для устройств прямого доступа

    КомандаКод командыТип команды
    1

    2

    3



    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    CHANGE DEFINITION

    COMPARE

    COPY

    COPY AND VERIFY

    FORMAT UNIT

    INQUIRY

    LOCK-UNLOCK CACHE

    LOG SELECT

    LOG SENSE

    MODE SELECT (6)

    MODE SELECT (10)

    MODE SENSE (6)

    MODE SENSE (10)

    PRE-FETCH

    PREVENT-ALLOW MEDIUM REMOVAL

    READ (6)

    READ (10)

    READ BUFFER

    READ CAPACITY

    READ DEFECT DATA

    READ LONG

    REASSIGN BLOCKS

    RECEIVE DIAGNOSTIC RESULTS

    RELEASE

    REQUEST SENSE

    RESERVE

    REZERO UNIT

    SEARCH DATA EQUAL

    SEARCH DATA HIGH

    SEARCH DATA LOW

    SEEK (6)

    SEEK (10)

    SEND DIAGNOSTIC

    SET LIMITS

    START STOP UNIT

    SYNCHRONIZE CACHE

    TEST UNIT READY

    VERIFY

    WRITE (6)

    WRITE (10)

    WRITE AND VERIFY

    WRITE BUFFER

    WRITE LONG

    WRITE SAME

    40h

    39h

    18h

    3Ah

    04h

    12h

    36h

    4Ch

    4Dh

    15h

    55h

    1Ah

    5Ah

    34h

    1Eh

    08h

    28h

    3Ch

    25h

    37h

    3Eh

    07h

    1Ch

    17h

    03h

    16h

    01h

    31h

    30h

    32h

    0Bh

    2Bh

    1Dh

    33h

    1Bh

    35h

    00h

    2Fh

    0Ah

    2Ah

    2Eh

    3Bh

    3Fh

    41h

    O

    O

    O

    O

    M

    M

    O

    O

    O

    O

    O

    O

    O

    O

    O

    M

    M

    O

    M

    O

    O

    O

    O

    M

    M

    M

    O

    O

    O

    O

    O

    O

    M

    O

    O

    O

    M

    O

    O

    O

    O

    O

    O

    O

    Примечание: M ? обязательные команды, O ? опциональные команды.

    Некоторые команды сопровождаются блоком параметров, следующим за блоком дескриптора команды. Форматы блоков стандартизированы, длина блока определяется кодом операции, который всегда является первым байтом блока и может составлять 6, 10 или 12 байтов.


    Любое ЦУ SCSI должно поддерживать четыре команды: Inquiry, Request Sense, Send Diagnostic, Test Unit Ready.

    Рассмотрим структуру команды SCSI на примере 6-байтной команды Copy.

    Byte\Bit76543210    
    000011000Operation Code
    1 0000 LUNReservedPad
    2 Parameter List Length (MSB)
    3 Parameter List Length
    4 Parameter List Length (LSB)
    5 0000  Vendor UniqueReserFlagLink
    Байт 5 является контрольным (Control byte);

    Operation Code ? код операции 18h;

    LUN ? Logical Unit Number, номер логического блока;

    Reserved ? зарезервировано для последующих стандартов, должны быть записаны нули;

    Parameter List Length ? длина списка параметров (MSB ? старший байт, LSB ? младший байт);

    Vendor Unique ? определяется разработчиком (изготовителем);

    Flag ? определяет сообщение, передаваемое в случае успешного выполнения команд цепочки;

    Link ? признак объединения команд в цепочку;

    Pad ? используется в связке с Cat bit, определяет, какое действие будет следующим, если сегмент копирования не соответствует точному числу блоков назначения.

    Команда копирования обеспечивает возможность копирования данных с одного логического блока на другой или на тот же логический блок. Логические блоки могут располагаться на разных устройствах SCSI либо на одном и том же. Некоторые устройства SCSI могут не поддерживать операцию копирования для «третьей стороны», где копирующее устройство не является исходным устройством или устройством назначения. Некоторые устройства SCSI поддерживают только операции копирования в рамках одного устройства SCSI, но без участия других устройств SCSI.

    Parameter List Length указывает число байтов параметров, которые должны быть переданы во время выполнения фазы Data Out команды.


    Содержание раздела