SCSI Target
A SCSI Target is an entity in a SCSI domain that accepts and processes SCSI commands. A SCSI Target can act as any device type (disk, tape, DVD, etc.), but the most prevalent model is that of a hard disk drive.
When I think of a Target, I think of the “controller”, that receives SCSI commands (like READ or WRITE) and then moves data between the Initiator and the Logical Unit(s) that are attached to the Target. All SCSI devices are supposed to be “intelligent” and can send SCSI Status back to the initiator to tell it if the command worked successfully or not.
When the status is not GOOD, it is the responsibility of the target to describe what happened. This is done by building SCSI Sense Data and making it available to the initiator. Most modern SCSI systems send this data back to the initiator automatically when the target sends a final response for that command.
For me, the difference between a good or excellent SCSI target is the quality and detail of this Sense data. When I have to debug a system that is not behaving as expected, the more detail I can get, the easier it is to figure out what is happening in the system. So any of you firmware geeks that are out there writing target code, give me the best description of the process as possible. I may even mention your name, if you would like.