Apparatus and Method for Fast SCSI Reselection Nexus
Original Publication Date: 2003-Feb-12
Included in the Prior Art Database: 2003-Feb-12
The time required to establish a SCSI Nexus on a reselection must be held to a minimum in order to take full advantage of the performance potential offered by packetized SCSI. An SCSI Initiator must sort through a path table to find an ID, LUN, and Queue Tag match with the reselecting SCSI Nexus. In addition to the SCSI Nexus information, each entry in the table contains pointers, byte counters, status and other setup information unique to the particular SCSI Nexus or path. The table information maintained for each path is collectively called the path I/O control block or IOCB. The IOCB table must be accessed by several hardware entities in addition to the SCSI Nexus hardware. New paths must be setup, completed paths interrogated for status, and background path timers must be updated. The SCSI hardware must therefore win arbitration to gain access to the IOCB table. When a reselection occurs a previously active path that has not yet been transferred from the working registers to the IOCB table is first written back to its respective IOCB table entry. The new path IOCB is found in the path table and loaded to the working registers so processing for this SCSI Nexus can continue. In Packetized SCSI the LUN size has increased from less than 1 byte to 8 bytes and the Queue Tag has gone from 1 to 2 bytes. The number of paths required has increased dramatically at the same time. One traditional approach was to store the nexus information at the first address of each entry in the IOCB table. During reselection the first address of each IOCB table entry was read in turn and compared to the nexus information from the SCSI bus until a match was made. This worked well with up to 32 paths and smaller LUNs & Queue Tags. With more nexus information per path and 128 or more paths the added SCSI bus overhead of such a search runs counter to the lower overhead of packetized SCSI. The problem is to find the path in the IOCB table, that matches the reselecting SCSI Nexus, quickly and efficiently. disclosed is a method to affect a fast SCSI Nexus on a reselection.