Command descriptor block

In SCSI, the command descriptor block (CDB) is a structure used for sending commands between computers and peripheral devices. This is often particularly used as a standard for transferring data between computers and storage devices.[1][2]

Description

In the initial SCSI-1 specification, the CDB can be a total of 6, 10, 12, or 16 bytes.[3] Later versions of the SCSI standard such as iSCSI allow for variable-length CDBs.[4] The CDB consists of a one-byte operation code followed by some command-specific parameters.[3] The parameters need not be a full byte long, and the parameter length varies from one command to another.[1] The available commands, with links to articles describing the detailed structure of many of them, are listed in the article List of SCSI commands.

Typical CDB structures, for the 6- and 16-byte SCSI Request Sense Command, opcode 3, are:

6-byte CDB[5][3]
Bit
Byte
[6]
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[3]
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:[7]

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:[3]

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

References

  1. ^ a b Buchanan, William (2000). Computer Busses: Design and Application. Elsevier Science. pp. 167–172. ISBN 9780340740767 – via Google Books.
  2. ^ Warner, William C. (June 20, 1991). "Adapter and software simplify interface to SCSI peripherals". EDN. Vol. 36, no. 13. UBM Canon. pp. 31–35 – via the Internet Archive.
  3. ^ a b c d e Rahmel, Ron; Dan Rahmel (1995). Interfacing to the PowerPC Microprocessor. Sams Publications. pp. 297–298. ISBN 9780672305481 – via Google Books.
  4. ^ Hufferd, John L. (2003). iSCSI: The Universal Storage Connection. Addison-Wesley. pp. 259–261. ISBN 9780201784190 – via Google Books.
  5. ^ Black, John, ed. (1992). The System Engineers Handbook. Morgan Kaufmann Publishers. pp. 333–334. ISBN 9780080519029 – via Google Books.
  6. ^ Glass, L. Brett (March 1990). "The SCSI Bus". Byte. Vol. 15, no. 3. McGraw-Hill. pp. 291–298 – via the Internet Archive.
  7. ^ SCSI Commands Reference Manual (PDF). Seagate Corporation. October 2016. pp. 97–100.


Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.