SCSI, iSCSI, and VMware Integration
VAAI Integration
SCSI cmd
xcopy study documents
SCSI T10 doc
SCSI command CDB definition:
https://www.seagate.com/files/staticfiles/support/docs/manual/Interface%20manuals/100293068j.pdf
SCSI
"mode pages" hold metadata about a SCSI device (LUN), and some metadata can be changed by user.
"mode pages" common to all SCSI devices are found in SPC-4, "mode pages" specific for block devices are defined in SBC-3.
SCSI standard architecture:
www.t10.org/scsi-3.htm
SCSI target device provides a number of mode pages. These can be interrogated by "MODE SENSE" command, set by "MODE SELECT" command.
page code: 6 bits
sub-page code: 8 bits
"mode sense": obtain device information from mode pages in a target device.
"mode select": set new values in a mode page
mode sense pages:
VPD pages
Some seldom-change metadata is stored in "vital product data" (VPD) pages, they are obtained via "SCSI INQUIRY" command.
The most important vpd page is "device identification vpd page, 0x83).
Log pages
Performance stats are stored in "log pages", which are obtained via "LOG SENSE" command.
SCSI return status code
SCSI communication takes place between an initiator and a target. SCSI cmds are sent in a "command descriptor block" (CDB). At the end of command, target returns a "status code" byte, which is "0h" for success, "02h" for "check condition(error)", "08h" for busy.
When the target returns a "check condition" in response to a command, the initiator usually then issues a "request sense" command.
"check condition" occurs when a SCSI device needs to report an error.