SCSI Initiator

A SCSI Initiator is an “entity” that exists in a SCSI Domain for the purpose of making connections and issuing SCSI Commands.  The term initiator is used because it “starts” a process with a SCSI Target by giving it some kind of command to perform.

Initiators usually exist in the host computer end of a storage system, as either a software entity or a combination of software and hardware, such as a Host Bus Adapter (HBA).  Since SCSI commands and protocol are also used in Fibre Channel and other physical interfaces (USB, Ethernet, etc.), initiators also exist in those systems.

What an initiator does is:

  • build and issue a Command Descriptor Block (CDB),
  • forwards the CDB to a SCSI Target device,
  • handles any interaction associated with that particular command (such as receiving and acknowledging data for a READ command), and
  • checks/accepts a response (Status) from the SCSI Target device.

Depending on the particular interface, there may be other steps in the lower layers, but the concepts are the same.  All of this takes place assuming that the proper communication infrastructure is in place and that the initiator knows that the target exists.

Initiators know of targets as a result of some kind of “discovery” process.  This could be a simple “scan” of the bus, in the case of parallel SCSI, or by communicating with some form of “Name Server” in the case of the more advanced interfaces.

Incoming search terms for the article: