SCSI Read Commands
Encyclopedia

Read

The Read(6) command is only 6 bytes long and is a legacy from early SCSI
SCSI
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 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 (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 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....

 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 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...

) 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 command
SCSI 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
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK