Pointers
96122 • Revision: F Chapter 3 SCSI Bus Operations 23
Pointers
SCSI uses pointers to indicate the relative locations in memory of the initiator. The
SCSI pointer architecture has two elements:
Each pointer element has three pointers for each I/O process:
The following explains how pointers are used during the I/O process:
Example: Because a device needs time to process commands or multiple data
blocks, the target disconnects from the initiator to free the SCSI bus for other
operations.
The target directs the initiator to save data pointers by sending a Save Data Pointer
message before disconnection.
Note – Whenever the target detects an error or receives a message from the
initiator indicating an error has occurred, the target requests that the initiator
return to the location specified by the pointers to re-execute the operation. The
target makes this request by sending a Restore Pointers message.
Current The current element points to the next byte of information to be
transmitted. This set of pointers is shared by all devices.
Saved The saved element points to the beginning or initial I/O block
being transmitted. There is one set of saved pointers for each active
I/O process.
Command The command pointer indicates the start of the command
descriptor block.
Data The saved data pointer indicates the start of the data area. If the
target issues a Save Pointer Message during that I/O process, the
initiator updates and stores the new value in the saved data
pointer.
Status The status pointer indicates the start of the status area.