Parallel SCSI Bus Operation
The parallel SCSI bus goes through eight possible phases as a command is processed. Not all phases will occur in all cases:
| Phase | Comments |
|---|---|
| Bus-free | This is the state in which no device communication is in process. |
| Arbitration | One or more devices attempt to obtain exclusive control of the bus by asserting /BSY and a single bit corresponding to the device SCSI ID. For example, a device with a SCSI ID of 2 would generate the inverted bit pattern 11111011 on the bus. |
| Selection | The arbitrating device with the highest ID takes control of the bus by asserting /BSY and /SEL. "Highest" on an eight bit bus starts from 7 and works downward to zero. On a 16 bit bus, the eight bit rule applies, followed by 15 and working downward to 8, thus maintaining backward compatibility on a bus with a mix of eight and 16 bit devices. The controlling device is now the "initiator." |
| Command | The initiator sends the command descriptor block (CDB) to a "target," which is another device on the bus. The CDB tells the target what to do. |
| Reselection | During a transaction, the target device may be required to execute an operation (e.g., winding or rewinding the tape in a tape drive) that is slow in wall clock time terms relative to the speed of the bus. In such a case, the target may temporarily disconnect from the bus, causing the latter to go to the bus-free condition and allowing other unrelated operations to take place. Reselection is the phase where the target reconnects to the initiator to resume the previously suspended transaction. |
| Data | In this phase, data is transferred between initiator and target, the direction of transfer depending on the command that was issued. For example, a command to read a sector from a disk would result in a transfer from the disk to the host. Or, if an error occurred, the initiator could send a "request sense" command to the target for details, the latter which would be returned during the data phase. |
| Message | A message code is exchanged between initiator and target for the purposes of interface management. |
| Status | A status code is sent to the initiator to report the success or failure of the operation. |
The above list does not imply a specific sequence of events. Following a command to a target to send data to the initiator and a receipt of a command complete status, the initiator could send another command or even send a message.
Read more about this topic: Parallel SCSI
Famous quotes containing the words parallel, bus and/or operation:
“One writes of scars healed, a loose parallel to the pathology of the skin, but there is no such thing in the life of an individual. There are open wounds, shrunk sometimes to the size of a pin-prick but wounds still. The marks of suffering are more comparable to the loss of a finger, or the sight of an eye. We may not miss them, either, for one minute in a year, but if we should there is nothing to be done about it.”
—F. Scott Fitzgerald (18961940)
“An actor rides in a bus or railroad train; he sees a movement and applies it to a new role. A woman in agony of spirit might turn her head just so; a man in deep humiliation probably would wring his hands in such a way. From straws like these, drawn from completely different sources, the fabric of a character may be built. The whole garment in which the actor hides himself is made of small externals of observation fitted to his conception of a role.”
—Eleanor Robson Belmont (18781979)
“Waiting for the race to become official, he began to feel as if he had as much effect on the final outcome of the operation as a single piece of a jumbo jigsaw puzzle has to its predetermined final design. Only the addition of the missing fragments of the puzzle would reveal if the picture was as he guessed it would be.”
—Stanley Kubrick (b. 1928)