摘要 |
A redundancy manager preferably in an I/O adapter has been disclosed to manage commands to peripheral devices in a computer system. These peripheral devices have multiple ports and may have a different bus associated with each port. The buses, referred to as independent pathways, moreover, need not have the same protocol. The redundancy manager determines the number of independent pathways connected to the peripheral device, presents only one logical device to the operating system and any device driver and any other command or device processing logic in the command path before the redundancy manager. For each incoming command, the redundancy manager determines which pathways are properly functioning and selects the best pathway for the command based on load balancing considerations and any ordering semantics that must be preserved in the incoming command and any outstanding commands and associated data that have not yet executed. The redundancy manager further reroutes the command to an alternate path and resets the device for the alternate path if the selected path failed. Thus, a dynamic mechanism and method to manage multiple pathways to I/O devices such as storage disks do not require the intervention of either the operating system of the computer or any device driver associated with the device or the interconnecting bus.
|