Direct Access Storage Devices (DASD) storage subsystems communicate with various small computer system interface (SCSI) hosts over a SCSI bus. For example, a DASD storage subsystem, such as model No. 2105 DASD storage subsystem manufactured by IBM, can be utilized with a variety of SCSI hosts such as an RS-6000 host, Sun Microsystems host, NCR host, or an AS/400 host, through a SCSI bus. In conventional systems, a particular set of microcode is utilized to control the port or ports within the storage subsystem to which the SCSI host is attached.
Typically a particular storage subsystem is configured to interact with a SCSI host that has certain behavioral characteristics. In so doing, a SCSI host that has different characteristics can not be coupled to the port. Although all SCSI hosts are capable of running on a SCSI bus, an SCSI host's data block sizes may be different. For example, an AS/400 SCSI host will support a block size that is 520 bytes, where, for example, other SCSI hosts, such as a Sun or NCR host, only support a 512 byte data block. Accordingly, it is not possible for there to be a direct data exchange between those two types of SCSI host.
In addition, although a SCSI host has certain behavior that is based on its stated parameters, it has been learned empirically that under certain environments, a particular SCSI host will not operate in accordance with stated parameters. Accordingly, it is sometimes necessary to modify the parameters associated with a particular SCSI host when utilized in a particular environment. Once again, although it is known that this is possible to do for a specific SCSI host coupled to a specific port, heretofore conventional systems address this problem by having unique code for a particular host type. This approach, however, is unwieldy as different SCSI hosts are attached to a particular subsystem and there is a variety of behaviors associated with each of those hosts. It is known, for example, to personalize a particular port for a particular SCSI host. However, heretofore it has not been possible to have one storage subsystem that can interact with a variety of SCSI hosts at the same time.
Finally, there are some instances where SCSI hosts can run under the same or similar conditions. Once again, as it has been described above, conventional storage subsystems typically only accommodate one type of SCSI host.
Accordingly, what is needed is a system and method for allowing a plurality of SCSI hosts to communicate with a single storage subsystem, even in those instances where the various SCSI hosts have different behaviors. The system should be easy to implement and adaptable to conventional storage systems. Accordingly, what is desired is a universal storage subsystem which could be readily adaptable to a variety of SCSI hosts with a variety of different behaviors. The present invention addresses such a need.