Presentation is loading. Please wait.

Presentation is loading. Please wait.

SCSI Commands Overview

Similar presentations


Presentation on theme: "SCSI Commands Overview"— Presentation transcript:

1 SCSI Commands Overview
UNH InterOperability Lab SCSI Commands Overview

2

3 Presentation Topics Command Summary Select Command Explanations
Additional Sense Codes and Qualifiers

4 CDB Command Data Block Commands are defined with CDBs
Each command has its own CDB CDBs defined by various SCSI Standards Fixed and variable length variations In SAS: Encapsulated in a command frame

5 SCSI Command Sets SPC-4 SCSI Primary Commands Version 4
Commands universal to all device types SBC-3 SCSI Block Command Version 3 Commands specific to block devices (hard disks) SSC-2 SCSI Streaming Commands Version 2 Commands specific to streaming devices (tape drives) MMC-4 SCSI Multi Media Commands Version 4 Commands specific to multimedia devices (CD/DVD)

6 Common SCSI Commands in SAS
Read Commands READ (6) (SSC and SBC)* READ (10) (SBC) READ (12) (SBC) READ (16) (SBC) READ (32) (SBC) *Different field definitions, same CDB Length

7 Command SCSI Commands in SAS
Write Commands WRITE (6) (SSC and SBC)* WRITE (10) (SBC) WRITE (12) (SBC) WRITE (16) (SBC) WRITE (32) (SBC) *Different Field Definitions, same CDB Length

8 Diagnostic and Initialization Commands
READ BUFFER (SPC) WRITE BUFFER (SPC) INQUIRY (SPC) TEST UNIT READY (SPC) MODE SENSE (SPC) MODE SELECT (SPC) LOG SENSE (SPC) LOG SELECT (SPC) READ ATTRIUBUTE (SPC) REPORT LUNS (SPC)

9 Block Specific Commands
READ CAPACITY VERIFY WRITE AND VERIFY READ LONG WRITE LONG Many more…

10 Streaming Specific Commands
LOAD UNLOAD LOCATE (16) PREVENT ALLOW MEDIUM REMOVAL READ BLOCK LIMITS READ POSITION REWIND SET CAPACITY SPACE (16)

11 READ (16) Command OP Code: 88h Specifies the command
RD Protect: Various settings regarding the write protection checking

12 READ (16) Command DPO – Disable Page Out Bit
Used to optimize caching onboard the target device Set to 1 tells the target that data at this Logical Block Address is not likely to be accessed again in the near future and that the target can remove it from its local cache

13 READ (16) Command FUA and FUA_NV – Force Unit Access (Non-Volatile)
Used to override the targets internal caching and force it to access the media

14 READ (16) Command Logical Block Address (LBA)
The address on the medium that the initiator would like to read Internally, the target converts the LBA to a (Cylinder, Sector, Head) address – Transparent to the computer system and user

15 READ (16) Command Transfer Length
Specifies the length in contiguous logical units to be transferred in this command Logical unit is typically 512-bytes (1 Block)

16 READ (16) Command Restricted for MMC-4
Used for the MMC-4 Version of this command

17 READ (16) Command Group Number
Used to collect performance statistics of different groups of commands Application A’s performance vs. Applications B’s performance

18 READ (16) Command Control Standard SCSI Control Bytes Defined in SAM-4
Has a consistently defined meaning across all commands\ Found only on fixed-length CDB commands

19 WRITE (16) Command OP Code: 8Ah Specifies the command
WD Protect: Various settings regarding the write protection checking

20 WRITE (16) Command DPO – Disable Page Out Bit
Used to optimize caching onboard the target device Set to 1 tells the target that data at this Logical Block Address is not likely to be accessed again in the near future and that the target can remove it from its local cache

21 WRITE (16) Command FUA and FUA_NV – Force Unit Access (Non-Volatile)
Used to override the targets internal caching and force it to access the media

22 WRITE (16) Command Logical Block Address (LBA)
The address on the medium that the initiator would like to read Internally, the target converts the LBA to a (Cylinder, Sector, Head) address – Transparent to the computer system and user

23 WRITE (16) Command Transfer Length
Specifies the length in contiguous logical units to be transferred in this command Logical unit is typically 512-bytes (1 Block)

24 WRITE (16) Command Restricted for MMC-4
Used for the MMC-4 Version of this command

25 WRITE (16) Command Group Number
Used to collect performance statistics of different groups of commands Application A’s performance vs. Applications B’s performance

26 WRITE (16) Command Control Standard SCSI Control Bytes
Defined in SAM-4 Has a consistently defined meaning across all commands\ Found only on fixed-length CDB commands

27 TEST UNIT READY Command
OP Code: 00h Specifies the command Control Bits are typically zero Defined in SAM-4 Result: 6 Byte CDB consisting of entirely 0s

28 TEST UNIT READY Command
Also: CHECK CONDITION – NOT READY – POWER ON OCCURED

29 INQUIRY Command OP Code: 12h Specifies the Command
EVPD: Enable Vital Product Data Set to zero, the device returns standard inquiry data Set to one, enables the page code field

30 INQUIRY Command Page Code: Specifies the page code to return. Pages are defined in SAM-4, SPC-4, and technology specific standards Allocation Length specifies the length of inquiry data the initiator is prepared to accept in bytes

31 REPORT LUNS Command OP Code: A0h Specifies the command Select Report:

32 REPORT LUNS Command Allocation Length should be at least 16 bytes
If the allocation length is insufficient to report all the LUNs on the device, the device shall report only what it is able to report

33 Additional Sense Codes
Values returned in a Response Frame (SAS) in the event that a command could not be completed So many possible problems that a qualifier is used to expand the pool of possible returns

34 Additional Sense Codes Examples
ASC: 0x00 ASCQ: 0x06 I/O Process Terminated ASC: 0x04 ASCQ: 0x11 Logical Unit Not Ready, Notify (Enable Spinup) Required ASC: 0x4B ASCQ: 0x03 ACK/NAK Timeout


Download ppt "SCSI Commands Overview"

Similar presentations


Ads by Google