Contents
Foreword
Introduction
1
Scope
2
Normative references
3
Definitions, symbols and abbreviations
3.1
Definitions
3.2
Symbols and abbreviations
4
General
4.1
Overview
4.2
Conventions
5
Physical characteristics
5.1
Physical description
5.2
Cable requirements
5.2.1
Single-ended cable
5.2.2
Differential cable
5.2.3
Cable requirements for fast synchronous data transfer
5.3
Connector requirements
5.3.1
Non-shielded connector requirements
5.3.1.1
Non-shielded connector alternative 1 - A cable
5.3.1.2
Non-shielded connector alternative 2 - A cable
5.3.1.3
Non-shielded connector - B cable
5.3.2
Shielded connector requirements
5.3.2.1
Shielded connector alternative 1 - A cable
5.3.2.2
Shielded connector alternative 2 - A cable
5.3.2.3
Shielded connector - B cable
5.3.3
Connector contact assignments
5.4
Electrical description
5.4.1
Single-ended alternative
5.4.1.1
Output characteristics
5.4.1.2
Input characteristics
5.4.2
Differential alternative
5.4.2.1
Output characteristics
5.4.2.2
Input characteristics
5.4.3
Terminator power
5.4.4
RESERVED lines
5.5
SCSI bus
5.6
SCSI bus signals
5.6.1
Signal values
5.6.2
OR-tied signals
5.6.3
Signal sources
5.7
SCSI bus timing
5.7.1
Arbitration delay
5.7.2
Assertion period
5.7.3
Bus clear delay
5.7.4
Bus free delay
5.7.5
Bus set delay
5.7.6
Bus settle delay
5.7.7
Cable skew delay
5.7.8
Data release delay
5.7.9
Deskew delay
5.7.10
Disconnection delay
5.7.11
Hold time
5.7.12
Negation period
5.7.13
Power-on to selection time
5.7.14
Reset to selection time
5.7.15
Reset hold time
5.7.16
Selection abort time
5.7.17
Selection time-out delay
5.7.18
Transfer period
5.8
Fast synchronous transfer option
5.8.1
Fast assertion period
5.8.2
Fast cable skew delay
5.8.3
Fast deskew delay
5.8.4
Fast hold time
5.8.5
Fast negation period
6
Logical characteristics
6.1
SCSI bus phases
6.1.1
BUS FREE phase
6.1.2
ARBITRATION phase
6.1.3
SELECTION phase
6.1.3.1
SELECTION time-out procedure
6.1.4
RESELECTION phase
6.1.4.1
RESELECTION
6.1.4.2
RESELECTION time-out procedure
6.1.5
Information transfer phases
6.1.5.1
Asynchronous information transfer
6.1.5.2
Synchronous data transfer
6.1.5.3
Wide data transfer
6.1.6
COMMAND phase
6.1.7
Data phase
6.1.7.1
DATA IN phase
6.1.7.2
DATA OUT phase
6.1.8
STATUS phase
6.1.9
Message phase
6.1.9.1
MESSAGE IN phase
6.1.9.2
MESSAGE OUT phase
6.1.10
Signal restrictions between phases
6.2
SCSI bus conditions
6.2.1
Attention condition
6.2.2
Reset condition
6.2.2.1
Hard reset alternative
6.2.2.2
Soft reset alternative
6.3
SCSI bus phase sequences
6.4
SCSI pointers
6.5
Message system description
6.6
Messages
6.6.1
ABORT
6.6.2
ABORT TAG
6.6.3
BUS DEVICE RESET
6.6.4
CLEAR QUEUE
6.6.5
COMMAND COMPLETE
6.6.6
DISCONNECT
6.6.7
IDENTIFY
6.6.8
IGNORE WIDE RESIDUE
6.6.9
INITIATE RECOVERY
6.6.10
INITIATOR DETECTED ERROR
6.6.11
LINKED COMMAND COMPLETE
6.6.12
LINKED COMMAND COMPLETE (WITH FLAG)
6.6.13
MESSAGE PARITY ERROR
6.6.14
MESSAGE REJECT
6.6.15
MODIFY DATA POINTER Message
6.6.16
NO OPERATION
6.6.17
Queue tag messages
6.6.17.1
HEAD OF QUEUE TAG
6.6.17.2
ORDERED QUEUE TAG
6.6.17.3
SIMPLE QUEUE TAG
6.6.18
RELEASE RECOVERY
6.6.19
RESTORE POINTERS
6.6.20
SAVE DATA POINTER
6.6.21
SYNCHRONOUS DATA TRANSFER REQUEST message
6.6.22
TERMINATE I/O PROCESS
6.6.23
WIDE DATA TRANSFER REQUEST message
7
SCSI commands and status
7.1
Command implementation requirements
7.1.1
Reserved
7.1.2
Operation code types
7.2
Command descriptor block
7.2.1
Operation code
7.2.2
Logical unit number
7.2.3
Logical block address
7.2.4
Transfer length
7.2.5
Parameter list length
7.2.6
Allocation length
7.2.7
Control field
7.3
Status
7.4
Command examples
7.4.1
Single command example
7.4.2
Disconnect example
7.4.3
Linked command example
7.5
Command processing considerations and exception conditions
7.5.1
Programmable operating definition
7.5.2
Incorrect initiator connection
7.5.3
Selection of an invalid logical unit
7.5.4
Parameter rounding
7.5.5
Asynchronous event notification
7.5.6
Unexpected reselection
7.6
Contingent allegiance condition
7.7
Extended contingent allegiance condition
7.8
Queued I/O processes
7.8.1
Untagged queuing
7.8.2
Tagged queuing
7.8.3
Example of queued I/O process
7.8.3.1
Typical sequences for tagged queuing
7.8.3.2
Example of tagged queuing
7.9
Unit attention condition
8
All device types
8.1
Model for all device types
8.1.1
SCSI addresses
8.1.1.1
SCSI device address
8.1.1.2
Logical units
8.1.1.3
Target routines
8.1.2
Commands implemented by all SCSI devices
8.1.2.1
Using the INQUIRY command
8.1.2.2
Using the REQUEST SENSE command
8.1.2.3
Using the SEND DIAGNOSTIC command
8.1.2.4
Using the TEST UNIT READY command
8.2
Commands for all device types
8.2.1
CHANGE DEFINITION command
8.2.2
COMPARE command
8.2.3
COPY command
8.2.3.1
Errors detected by the managing SCSI device
8.2.3.2
Errors detected by a target
8.2.3.3
COPY function code 00h and 01h
8.2.3.4
COPY function code 02h
8.2.3.5
COPY function code 03h
8.2.3.6
COPY function code 04h
8.2.3.7
Copies with unequal block lengths
8.2.4
COPY AND VERIFY command
8.2.5
INQUIRY command
8.2.5.1
Standard INQUIRY data
8.2.5.2
Vital product data
8.2.6
LOG SELECT command
8.2.7
LOG SENSE command
8.2.8
MODE SELECT(6) command
8.2.9
MODE SELECT(10) command
8.2.10
MODE SENSE(6) command
8.2.10.1
Current values
8.2.10.2
Changeable values
8.2.10.3
Default values
8.2.10.4
Saved values
8.2.10.5
Initial responses
8.2.11
MODE SENSE(10) command
8.2.12
READ BUFFER Command
8.2.12.1
Combined header and data mode (000b)
8.2.12.2
Vendor-specific mode (001b)
8.2.12.3
Data mode (010b)
8.2.12.4
Descriptor mode (011b)
8.2.13
RECEIVE DIAGNOSTIC RESULTS command
8.2.14
REQUEST SENSE Command
8.2.14.1
Sense-key specific
8.2.14.2
Deferred errors
8.2.14.3
Sense key and sense code definitions
8.2.15
SEND DIAGNOSTIC Command
8.2.16
TEST UNIT READY Command
8.2.17
WRITE BUFFER command
8.2.17.1
Combined header and data mode (000b)
8.2.17.2
Vendor-specific mode (001b)
8.2.17.3
Data mode (010b)
8.2.17.4
Download microcode mode (100b)
8.2.17.5
Download microcode and save mode (101b)
8.3
Parameters for all device types
8.3.1
Diagnostic parameters
8.3.1.1
Supported diagnostic pages
8.3.2
Log parameters
8.3.2.1
Buffer over-run/under-run page
8.3.2.2
Error counter pages
8.3.2.3
Last n error events page
8.3.2.4
Non-medium error page
8.3.2.5
Supported log pages
8.3.3
Mode parameters
8.3.3.1
Control mode page
8.3.3.2
Disconnect-reconnect page
8.3.3.3
Peripheral device page
8.3.4
Vital product data parameters
8.3.4.1
ASCII implemented operating definition page
8.3.4.2
ASCII information page
8.3.4.3
Implemented operating definition page
8.3.4.4
Supported vital product data pages
8.3.4.5
Unit serial number page
9
Direct-access devices
9.1
Direct-access device model
9.1.1
Removable medium
9.1.2
Logical blocks
9.1.3
Ready state
9.1.4
Initialization
9.1.5
Medium defects
9.1.6
Data cache
9.1.7
Reservations
9.1.8
Seek and rezero
9.1.9
Notched drives
9.1.10
Rotational position locking
9.1.11
Relative addressing
9.1.12
Error reporting
9.1.13
Examples
9.1.13.1
Rotating media
9.1.13.2
Sequential media
9.1.13.3
Memory media
9.2
Commands for direct-access devices.
9.2.1
FORMAT UNIT command
9.2.1.1
Defect list formats
9.2.1.2
Initialization pattern option
9.2.2
LOCK UNLOCK CACHE command
9.2.3
PRE-FETCH command
9.2.4
PREVENT ALLOW MEDIUM REMOVAL command
9.2.5
READ(6) command
9.2.6
READ(10) command
9.2.7
READ CAPACITY command
9.2.8
READ DEFECT DATA command
9.2.9
READ LONG command
9.2.10
REASSIGN BLOCKS command
9.2.11
RELEASE command
9.2.11.1
Logical unit release
9.2.11.2
Extent release
9.2.11.3
Third-party release
9.2.12
RESERVE command
9.2.12.1
Logical unit reservation
9.2.12.2
Extent reservation
9.2.12.3
Third-party reservation
9.2.12.4
Superseding reservations
9.2.13
REZERO UNIT command
9.2.14
SEARCH DATA commands
9.2.14.1
SEARCH DATA EQUAL command
9.2.14.2
SEARCH DATA HIGH command
9.2.14.3
SEARCH DATA LOW command
9.2.15
SEEK(6) and SEEK(10) commands
9.2.16
SET LIMITS command
9.2.17
START STOP UNIT command
9.2.18
SYNCHRONIZE CACHE command
9.2.19
VERIFY command
9.2.20
WRITE(6) command
9.2.21
WRITE(10) command
9.2.22
WRITE AND VERIFY command
9.2.23
WRITE LONG command
9.2.24
WRITE SAME command
9.3
Parameters for direct-access devices
9.3.1
Diagnostic parameters
9.3.1.1
Translate address page - SEND DIAGNOSTIC
9.3.1.2
Translate address page - RECEIVE DIAGNOSTIC
9.3.2
Log parameters
9.3.3
Mode parameters
9.3.3.1
Caching page
9.3.3.2
Flexible disk page
9.3.3.3
Format device page
9.3.3.4
Medium types supported page
9.3.3.5
Notch and partition page
9.3.3.6
Read-write error recovery page
9.3.3.7
Rigid disk drive geometry page
9.3.3.8
Verify error recovery page
9.4
Definitions specific to direct-access devices
10
Sequential-access devices
10.1
Sequential-access device model
10.1.1
Physical elements
10.1.2
Data storage characteristics
10.1.3
Partitions within a volume
10.1.4
Logical elements within a partition
10.1.5
Data buffering
10.1.6
Recorded object descriptors (block identifiers)
10.1.7
Direction and position definitions
10.1.8
Error reporting
10.2
Command descriptions for sequential-access devices
10.2.1
ERASE command
10.2.2
LOAD UNLOAD command
10.2.3
LOCATE command
10.2.4
READ command
10.2.5
READ BLOCK LIMITS command
10.2.6
READ POSITION command
10.2.7
READ REVERSE command
10.2.8
RECOVER BUFFERED DATA command
10.2.9
RELEASE UNIT command
10.2.9.1
Third-party release
10.2.10
RESERVE UNIT command
10.2.10.1
Third-party reservation
10.2.10.2
Superseding reservations
10.2.11
REWIND command
10.2.12
SPACE command
10.2.13
VERIFY command
10.2.14
WRITE command
10.2.15
WRITE FILEMARKS command
10.3
Parameters for sequential-access devices
10.3.1
Diagnostic parameters
10.3.2
Log parameters
10.3.3
Mode parameters
10.3.3.1
Device configuration page
10.3.3.2
Medium partition page(1)
10.3.3.3
Medium partition page(2-4)
10.3.3.4
Read-write error recovery page
10.4
Definitions specific to sequential access devices
11
Commands for printer devices
11.1
Model for printer devices
11.2
Commands for printer devices
11.2.1
FORMAT command
11.2.2
PRINT command
11.2.3
RECOVER BUFFERED DATA command
11.2.4
SLEW AND PRINT command
11.2.5
STOP PRINT command
11.2.6
SYNCHRONIZE BUFFER command
11.3
Parameters for printer devices
11.3.1
Diagnostic parameters
11.3.2
Log parameters
11.3.3
Mode parameters
11.3.3.1
Parallel printer interface page
11.3.3.2
Printer options page
11.3.3.3
Serial printer interface page
12
Processor devices
12.1
Model for processor devices
12.1.1
Host-to-host communication, SEND only
12.1.2
Host-to-host communication, SEND and RECEIVE
12.1.3
Host-to-special-output peripheral
12.1.4
Host-to-special-input peripheral
12.2
Commands for processor devices
12.2.1
RECEIVE command
12.2.2
SEND command
12.3
Parameters for processor devices
12.3.1
Diagnostic parameters
12.3.2
Log parameters
12.4
Definitions specific to processor devices
13
Write-once devices
13.1
Model for write-once devices
13.1.1
Logical blocks
13.1.2
Initialization
13.1.3
Physical medium defects
13.1.4
Error reporting
13.2
Commands for write-once devices
13.3
Parameters for write-once devices
13.4
Definitions specific to write-once devices
14
CD-ROM devices
14.1
Model for CD-ROM devices
14.1.1
CD-ROM media organization
14.1.2
CD-ROM physical data format
14.1.2.1
Frame format for audio
14.1.2.2
Sector format for data
14.1.2.3
Sub-channel information formats
14.1.3
CD Audio error reporting
14.1.4
CD-ROM ready condition/not ready condition
14.1.5
CD-ROM address reporting formats (MSF bit)
14.1.6
Sensing support for CD-audio commands.
14.1.7
Error reporting
14.2
Commands for CD-ROM devices
14.2.1
PAUSE RESUME command
14.2.2
PLAY AUDIO(10) command
14.2.3
PLAY AUDIO(12) command
14.2.4
PLAY AUDIO MSF command
14.2.5
PLAY AUDIO TRACK INDEX command
14.2.6
PLAY AUDIO TRACK RELATIVE(10) command
14.2.7
PLAY AUDIO TRACK RELATIVE(12) command
14.2.8
READ CD-ROM CAPACITY command
14.2.9
READ HEADER command
14.2.10
READ SUB-CHANNEL command
14.2.10.1
Sub-Q channel data format
14.2.10.2
CD-ROM current position data format
14.2.10.3
Media catalogue number data format
14.2.10.4
Track international standard recording code data format
14.2.11
READ TOC command
14.3
Parameters for CD-ROM devices
14.3.1
Diagnostic parameters
14.3.2
Log parameters
14.3.3
Mode parameters
14.3.3.1
CD-ROM audio control parameters
14.3.3.2
CD-ROM device parameters
14.3.3.3
Read error recovery parameters
14.3.3.4
Verify error recovery parameters
14.4
Definitions specific to CD-ROM devices
15
Scanner devices
15.1
Model for scanner devices
15.2
Commands for scanner devices
15.2.1
GET DATA BUFFER STATUS command
15.2.2
GET WINDOW command
15.2.3
OBJECT POSITION command
15.2.4
READ command
15.2.5
SCAN command
15.2.6
SEND command
15.2.7
SET WINDOW command
15.3
Parameters for scanner devices
15.3.1
Diagnostic parameters
15.3.2
Log parameters
15.3.3
Mode parameters
15.3.3.1
Measurement units page
15.4
Definitions specific to scanner devices
16
Optical memory devices
16.1
Model for optical memory devices
16.1.1
Defect management
16.1.2
Error reporting
16.2
Commands for optical memory devices
16.2.1
ERASE(10) command
16.2.2
ERASE(12) command
16.2.3
MEDIUM SCAN command
16.2.4
READ(12) command
16.2.5
READ DEFECT DATA(12) command
16.2.6
READ GENERATION command
16.2.7
READ UPDATED BLOCK(10) command
16.2.8
SEARCH DATA(12) commands
16.2.9
SET LIMITS(12) command
16.2.10
UPDATE BLOCK command
16.2.11
VERIFY(10) command
16.2.12
VERIFY(12) command
16.2.13
WRITE(10) command
16.2.14
WRITE(12) command
16.2.15
WRITE AND VERIFY(10) command
16.2.16
WRITE AND VERIFY(12) command
16.3
Parameters for optical memory devices
16.3.1
Diagnostic parameters
16.3.2
Log parameters
16.3.3
Mode parameters
16.3.3.1
Optical memory page
16.4
Definitions specific to write-once and optical memory devices
17
Medium-changer devices
17.1
Medium-changer device model
17.1.1
Medium-changer elements
17.1.1.1
Medium transport elements
17.1.1.2
Storage elements
17.1.1.3
Import export elements
17.1.1.4
Data transfer element
17.1.2
SCSI addressing of medium changer devices
17.1.3
Data access operations using a medium changer device
17.1.4
Element status maintenance requirements
17.1.5
Volume tags
17.1.5.1
Volume tag format
17.1.5.2
Primary and alternate volume tag information
17.2
Commands for medium changer devices
17.2.1
EXCHANGE MEDIUM command
17.2.2
INITIALIZE ELEMENT STATUS command
17.2.3
MOVE MEDIUM command
17.2.4
POSITION TO ELEMENT command
17.2.5
READ ELEMENT STATUS command
17.2.5.1
Element status data
17.2.5.2
Element status page
17.2.5.3
Medium transport element descriptor
17.2.5.4
Storage element descriptor
17.2.5.5
Import export element descriptor
17.2.5.6
Data transfer element descriptor
17.2.6
REQUEST VOLUME ELEMENT ADDRESS command
17.2.7
RELEASE command
17.2.7.1
Logical unit release
17.2.7.2
Element release (optional)
17.2.7.3
Third party release
17.2.8
RESERVE command
17.2.8.1
Logical unit reservation
17.2.8.2
Element reservation (optional)
17.2.8.3
Third party reservation
17.2.8.4
Superseding reservations
17.2.9
SEND VOLUME TAG command
17.3
Parameters for medium changer devices
17.3.1
Diagnostic parameters
17.3.2
Log parameters
17.3.3
Mode parameters
17.3.3.1
Device capabilities page
17.3.3.2
Element address assignment page
17.3.3.3
Transport geometry parameters page
17.4
Definitions specific to medium changer devices
18
Communications devices
18.1
Communications device model
18.1.1
Implementation examples
18.1.1.1
Host-to-host communications
18.1.1.2
Host-to-device communications
18.1.1.3
Multiple role communications
18.2
Command descriptions for communications devices
18.2.1
GET MESSAGE(6) command
18.2.2
GET MESSAGE(10) command
18.2.3
GET MESSAGE(12) command
18.2.4
SEND MESSAGE(6) command
18.2.5
SEND MESSAGE(10) command
18.2.6
SEND MESSAGE(12) command
18.3
Parameters for communication devices
18.3.1
Diagnostic parameters
18.3.2
Log parameters
18.3.3
Mode parameters
18.4
Definitions specific to communications devices
Index
Annexes
Annex A
SCSI signal sequence example
Annex B
Fast SCSI skew time
Annex C
Other SCSI standardization activities
C.1
SCSI-3 standards projects
C.2
Digital data exchange for colour electronic prepress systems
C.3
Fibre channel
Annex D
Numeric order codes
Annex E
Vendor identification