Initiator Role Custom Packet
commonly called a "thread"). The script allows the SCSI firmware to follow the TARGET bus sequences and also allows the firmware to resume a disconnected thread once a disconnect/ reselect occurs. Because the SBC allows "multithreading" of SCSI commands on the SCSI bus, a script is necessary to resume any disconnected threads. Without a script, the SCSI firmware would not have any way to check whether the TARGET performed the command that was requested through the CDB.
The following table gives the possible SCSI bus phases.
PHASE | DIRECTION | NOTES | |
|
|
| |
|
|
|
|
Bus Free |
| No activity on the bus. SEL* and BSY* are not | |
|
| activated. | |
|
|
| |
Arbitration |
| SCSI devices arbitrate for the use of the bus by | |
|
| activating BSY* and their ID. | |
|
|
| |
(Re)Selection |
| One SCSI device selects another device by | |
|
| activating SEL* along with its ID and the ID for | |
|
| the other device. | |
|
|
|
|
Information Transfer Phases: | Command | ||
|
|
|
|
initiator | A command |
|
|
to TARGET | tells the |
|
|
| TARGET |
|
|
| what is |
|
|
| requested by |
|
|
| the initiator. |
|
|
| The CDB is |
|
|
| passed |
|
|
| during this |
|
|
| phase. |
|
|
|
|
| |
Status | TARGET | The status of a particular command is passed to | |
| to initiator | initiator. Examples: good, busy, check. | |
|
|
| |
Data | TARGET | Data is transferred from the TARGET to the | |
in | to initiator | initiator as a result of a data phase requested in | |
|
| the CDB. | |
|
|
| |
Data | initiator | Data is transferred from the initiator to the | |
out | to TARGET | TARGET as a result of a data phase requested in | |
|
| the CDB. | |
|
|
| |
Message | TARGET | Messages are sent to the initiator to send bus, | |
in | to initiator | command, and controller information. | |
|
| Examples: command complete, save data | |
|
| pointer, restore data pointer, message reject. | |
|
|
|
|
2 |