SCSI Read Commands
Encyclopedia
Read
The Read(6) command is only 6 bytes long and is a legacy from early SCSISCSI
Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most commonly used for hard disks and tape drives, but it...
days. Its use is restricted to 21-bit LBA
Logical block addressing
Logical block addressing is a common scheme used for specifying the location of blocks of data stored on computer storage devices, generally secondary storage systems such as hard disks....
s (1 GiB
Gibibyte
The gibibyte is a standards-based binary multiple of the byte, a unit of digital information storage. The gibibyte unit symbol is GiB....
) and 8-bit Transfer Length fields. It has been present since the SASI (1979) specification. The CDB
SCSI CDB
In SCSI computer storage, commands are sent in a Command Descriptor Block .Each CDB can be a total of 6, 10, 12, or 16 bytes, but later versions of the SCSI standard also allow for variable-length CDBs. The CDB consists of a one byte operation code followed by some command-specific parameters.A...
structure is:
bit→ ↓byte |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Operation code = 08h | |||||||
1 | LUN | LBA | ||||||
2 | LBA | |||||||
3 | LBA | |||||||
4 | Transfer length | |||||||
5 | Control |
Read (10)
The Read(10) (also called 'read extended' in 1987) command was introduced to cope with 32-bit LBALogical block addressing
Logical block addressing is a common scheme used for specifying the location of blocks of data stored on computer storage devices, generally secondary storage systems such as hard disks....
s (2048 GiB
Gibibyte
The gibibyte is a standards-based binary multiple of the byte, a unit of digital information storage. The gibibyte unit symbol is GiB....
) and uses a 16-bit Transfer Length field. It also included three performance-related enhancements. Disable Page Out (DPO) allows the initiator
SCSI initiator
In computer data storage, a SCSI initiator is the endpoint that initiates a SCSI session, that is, sends a SCSI command. The initiator usually does not provide any Logical Unit Numbers ....
to warn the target that the data being read is unlikely to be requested again soon and so is not worth keeping in the target's data cache. Force Unit Access (FUA) tells the target to fetch the data from the media surface and to not use a cached copy. The RelAdr bit is used to indicate that the LBA value is relative (only used with linked commands). The '2' in the operation code indicates a "class 2" command, and the '8' is the real 'read' opcode
Opcode
In computer science engineering, an opcode is the portion of a machine language instruction that specifies the operation to be performed. Their specification and format are laid out in the instruction set architecture of the processor in question...
. This command was present in a 1982 working document and as such it is likely to have been present from the first SCSI command definitions, showing remarkable foresight. The CDB structure is:
bit→ ↓byte |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Operation code = 28h | |||||||
1 | LUN | DPO | FUA | Reserved | RelAdr | |||
2–5 | LBA | |||||||
6 | Reserved | |||||||
7–8 | Transfer length | |||||||
9 | Control |
Read (12)
The Read(12) command is similar to the Read(10) command except that it has a larger 32-bit Transfer Length field. The CDB structure is: bit→ ↓byte |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Operation code = A8h | |||||||
1 | Reserved | DPO | FUA | Reserved | RelAdr | |||
2–5 | LBA | |||||||
6–9 | Transfer length | |||||||
10 | Reserved | |||||||
11 | Control |
Read (16)
The Read(16) command is similar to the Read(12) command except that it has a 64-bit LBALogical block addressing
Logical block addressing is a common scheme used for specifying the location of blocks of data stored on computer storage devices, generally secondary storage systems such as hard disks....
field and is thus capable of addressing 8 388 608 PiB
Petabyte
A petabyte is a unit of information equal to one quadrillion bytes, or 1000 terabytes. The unit symbol for the petabyte is PB...
(ATA-6 is capable of max 128 PiB). The Transfer Length field is 32 bits long. The CDB
SCSI CDB
In SCSI computer storage, commands are sent in a Command Descriptor Block .Each CDB can be a total of 6, 10, 12, or 16 bytes, but later versions of the SCSI standard also allow for variable-length CDBs. The CDB consists of a one byte operation code followed by some command-specific parameters.A...
structure is:
bit→ ↓byte |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Operation code = 88h | |||||||
1 | RDPROTECT | DPO | FUA | Reserved | FUA_NV | Reserved | ||
2–9 | LBA | |||||||
10-13 | Transfer length | |||||||
14 | Restricted for MMC MultiMedia Commands MultiMedia Commands defines a SCSI/ATA based command set for accessing multimedia features on devices capable of such functionality. T10 subcommittee is responsible for developing it as well as other SCSI command set standards.-See also:... -4 |
Reserved | Group number | |||||
15 | Control |
Read (32)
The Read(32) command uses a 64-bit LBA fields (capable of addressing 8 388 608 PiBPetabyte
A petabyte is a unit of information equal to one quadrillion bytes, or 1000 terabytes. The unit symbol for the petabyte is PB...
) and uses a 32-bit Transfer Length field. The CDB
SCSI CDB
In SCSI computer storage, commands are sent in a Command Descriptor Block .Each CDB can be a total of 6, 10, 12, or 16 bytes, but later versions of the SCSI standard also allow for variable-length CDBs. The CDB consists of a one byte operation code followed by some command-specific parameters.A...
structure is:
bit→ ↓byte |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Operation code = 7Fh | |||||||
1 | Control | |||||||
2-5 | Reserved | |||||||
6 | Reserved | Group number | ||||||
7 | Additional CDB SCSI CDB In SCSI computer storage, commands are sent in a Command Descriptor Block .Each CDB can be a total of 6, 10, 12, or 16 bytes, but later versions of the SCSI standard also allow for variable-length CDBs. The CDB consists of a one byte operation code followed by some command-specific parameters.A... length (18h) |
|||||||
8-9 | Service Action (0009h) | |||||||
10 | RDPROTECT | DPO | FUA | Reserved | FUA_NV | Reserved | ||
11 | Reserved | |||||||
12-19 | LBA | |||||||
20-23 | Initial Logical Block Reference Tag | |||||||
24-25 | Expected Logical Block Application Tag | |||||||
26-27 | Logical Block Application Tag Mask | |||||||
28-31 | Transfer length |
Read Long
The Read Long command is used for Error Correcting Code (ECC) compliant data previously written by a Write Long commandSCSI Write Commands
-Write :The Write command is only 6 bytes long and is a legacy from early SCSI days. Its use is restricted to 21-bit LBAs. The CDB structure is:-Write :...
. The CORRCT bit defines whether or not the target is allowed to correct any errors found before returning the data to the target. The LBA field is 32 bits in length and the Transfer Length field is 16 bits. The CDB structure is:
bit→ ↓byte |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Operation code = 3Eh | |||||||
1 | Reserved | CORRCT | RelAdr | |||||
2–5 | LBA | |||||||
6 | Reserved | |||||||
7-8 | Byte transfer length | |||||||
9 | Control |