This web page refers to our older busTRACE 7.0 which is no longer shipping. Click here for details on our latest generation busTRACE software.
This WEB page comes from the busTRACE 7.0 User's Manual. (Table of Contents)
Storage devices support any number of commands. Read, Write, Read Capacity, Test Unit Ready, Inquiry, are all examples of commands that can be sent to a storage device. These commands are packaged in a structure called the Command Descriptor Block (CDB). The T10 committee manages the command sets that are available for the various devices types. For example, there are specifications for CD/DVD devices (MMC), hard drives (SBC), tape drives (SSC), and more.
The Windows storage stack is built around this Command Descriptor Block. To submit an I/O request to a storage device, you build up what's called a SCSI Request Block (SRB), or a SCSI Pass Through request. Embedded within the SRB is the actual CDB. While the CDB specifies the command to send to the device, the SRB specifies things such as the buffer location, buffer size, direction bits, and more.
SRBs and CDBs are used across any hard drive whether it's SCSI, ATA, Fibre Channel, RAID, SAS, or others. Even though ATA devices technically do not process CDBs, it is a CDB that is submitted to the ATA port driver. It is the responsibility of the ATA port driver (e.g. ATAPI.SYS) to convert the CDB request into a native ATA command sequence.
busTRACE captures the SRBs and CDBs sent to generate an I/O. Our product includes a large built-in database of CDBs so that we can decode the command exactly as you would see it defined in the T10 specifications. We make it even more readable by using different background colors to highlight structures in the inbound or outbound data. We also flag common firmware bugs on the decoded display to assist software and firmware developers. We regularly update our CDB database to ensure we decode the latest generation CDBs.
In the above example, a Get Configuration Core Descriptor CDB was issued to a DVD recorder. Notice how the CDB going out to the device and the data coming in from the device are both fully decoded. You can move the mouse and float it over any item that starts or ends with "..." to get a tooltip that will show you the entire text.
We also provide you a toolbar, directly above the CDB image, that gives you a variety of options to aid in your CDB analysis.