SCSI CDB
It is proposed that this article be deleted because of the following concern:
If you can address this concern by improving, copyediting, sourcing, renaming, or merging the page, please edit this page and do so. You may remove this message if you improve the article or otherwise object to deletion for any reason. Although not required, you are encouraged to explain why you object to the deletion, either in your edit summary or on the talk page. If this template is removed, do not replace it. This message has remained in place for seven days, so the article may be deleted without further notice. Find sources: "SCSI CDB" – news⧼Dot-separator⧽newspapers⧼Dot-separator⧽books⧼Dot-separator⧽scholar⧼Dot-separator⧽JSTOR Timestamp: 20241202204645 20:46, 2 December 2024 (UTC) Administrators: delete |
In SCSI standards for transferring data between computers and peripheral devices, often computer storage, commands are sent in a Command Descriptor Block (CDB). 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. The parameters need not be a full byte long, and the parameter length varies from one command to another. The available commands, with links to articles describing the detailed structure of many of them, are listed in the article section List of SCSI commands. Typical CDB structures, for the 6- and 16-byte SCSI Request Sense Command, opcode 3, are: 6-byte CDB:
Bit Byte
|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Operation code = 03h | |||||||
1 | LUN | Reserved | ||||||
2 | Reserved | |||||||
3 | Reserved | |||||||
4 | Allocation length | |||||||
5 | Control |
16-byte CDB:
Bit Byte
|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Operation code = 03h | |||||||
1 | LUN | Service Action | ||||||
2 | Logical Block (MSB) | |||||||
3 | ||||||||
4 | ||||||||
5 | Logical Block (LSB) | |||||||
6 | Addition CBP information | |||||||
7 | Addition CBP information | |||||||
8 | Addition CBP information | |||||||
9 | Addition CBP information | |||||||
10 | Allocation length (MSB) | |||||||
11 | ||||||||
12 | ||||||||
13 | Allocation length (LSB) | |||||||
14 | Misc. CDB data | |||||||
15 | Control |
An example with different allocation of bits to parameters is the 6-byte SCSI Mode Sense Command:[1]
Bit Byte
|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Operation code = 1Ah | |||||||
1 | LUN | Reserved | DBD | Reserved | ||||
2 | PC | Page code | ||||||
3 | Reserved | |||||||
4 | Allocation length | |||||||
5 | Control |
The generic form of the 12-byte CDB is:
Bit Byte
|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Operation code | |||||||
1 | miscellaneous CDB information | SERVICE ACTION (if required) | ||||||
2 | Logical Block (MSB) | |||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
6 | TRANSFER LENGTH (if required) | |||||||
7 | PARAMETER LIST LENGTH (if required) | |||||||
8 | ALLOCATION LENGTH (if required) | |||||||
9 | ||||||||
10 | miscellaneous CDB information | |||||||
11 | CONTROL |
See SPC-4 (http://www.t10.org/cgi-bin/ac.pl?t=f&f=spc4r34.pdf, free registration required) for more information.
Notes
- ↑ SCSI Command Reference, pp.97-100.
See also
References
- SCSI Command Reference Manual, Seagate Corp, October 2016.