1. Field of the Invention
The invention relates to a method for achieving higher availability of computer PCI adapters, and specifically for achieving higher availability by dynamically switching PCI adapters between host-controlled operation and IOP-controlled operation.
2. Background Information
A PCI (Peripheral Component Interconnect) adapter allows a computer to interface using a standard protocol with a variety of peripheral devices to input and output data to the computer. In current computer architectures, PCI adapters operate in only one of two modes, called “native” and “non-native.” A PCI adapter that operates under the control of the system processor is termed host-controlled, or “native”. A PCI adapter that operates under the control of a separate IOP (Input-Output Processor) is termed IOP-controlled, or “non-native.” For example, in the case of a non-native PCI adaptor, it becomes necessary to turn off all of the processes that are running on that PCI adapter, if it is desired to service the IOP. This may be for a short time if the replacement IOP is available and the concurrent maintenance action is performed right away. In other cases, the system could be down for a significant period of time awaiting replacement of the IOP.
Another problem inherent in current PCI adapters, which are able to operate only in either the “native” or “non-native” mode, is the lack of any capability for balancing the work load between the system processor and an IOP. If, for example, the PCI adaptor is running natively, i.e., under the system processor, and an I/O intensive job causes the overall system performance to decline, there is no current capability for switching the PCI adapters to run non-natively so as to off-load some of the work from the system processor to an IOP. Similarly, there is also no way in present systems to dynamically move non-native PCI adapters from an IOP that is experiencing high utilization so that they can run natively.
It is, therefore, a principle object of this invention to provide a method for achieving higher availability of computer PCI adapters.
It is another object of the invention to provide a method for achieving higher availability of computer PCI adapters that solves the above-mentioned problems.
These and other objects of the present invention are accomplished by the method for achieving higher availability of computer PCI adapters disclosed herein.
In an exemplary aspect of the invention, a computer system includes a system processor, an input/output processor, and an input/output adapter connected to the system processor and the input/output processor. In order to achieve higher availability of the computer input/output adapter, the input/output adapter is capable of dynamically switching between being controlled by the system processor (“native” mode) and being controlled by the input/output processor (“non-native” mode). The input/output adapter is preferably a PCI (Peripheral Component Interconnect) adapter, and the input/output processor is preferably a PCI-compatible processor. The computer system may include more than input/output adapter that is dynamically switchable.
In another aspect of the invention, a method for fault recovery in a computer system having a system processor, an input/output processor, and the above-described dynamically switchable input/output adaptor, includes the steps of: detecting a fault in the input/output processor; and switching the input/output adapter to control by the system processor if the input/output adapter is being controlled by the input/output processor when the fault is detected. The fault recovery method may also include the further steps of: detecting correction of the fault in the input/output processor; and switching the input/output adapter back to control by the input/output processor when the correction of the default is detected, if it was previously switched to control by the system processor as a result of the original fault in the input/output processor. The method is also applicable to a computer system have a plurality of dynamically switchable input/output adapters, in which case each of the dynamically switchable input/output adapters being controlled by the input/output processor is switched to control by the system processor when the fault is detected, and each of the dynamically switchable input/output adapters being controlled by the system processor when correction of the fault is detected is switched back to control by the input/output processor if it was previously switched to control by the system processor as a result of the original fault in the input/output processor.
In a further aspect of the invention, a method for optimizing processor utilization in a computer system having a system processor, an input/output processor, and a dynamically switchable input/output adaptor, includes the steps of: determining computer system utilization using a commonly-known measurement tool; and switching control of the input/output adapter from the then controlling processor to the non-controlling processor, if it is determined that the controlling processor is being over utilized and the non-controlling processors has sufficient capacity that switching control of the input/output adapter will not adversely affect overall system throughput. Preferably, switching control of the input/output adapter from the controlling processor to the second one of the processor is also based on a determination that the over utilization of the controlling processor is likely to continue for at least a specified period of time. The steps of determining computer system utilization and switching control of the input/output adapter based on such determination are preferably repeated at intervals substantially equal to the specified period of time. The method is also applicable to a computer system have a plurality of dynamically switchable input/output adapters, in which case the steps of determining computer system utilization and switching control of the input/output adapter based on such determination are performed for each of the plurality of input/output adapters.
The invention will now be described in more detail by way of example with reference to the embodiments shown in the accompanying figures. It should be kept in mind that the following described embodiments are only presented by way of example and should not be construed as limiting the inventive concept to any particular physical configuration.
Further, if used and unless otherwise stated, the terms “upper,” “lower,” “front,” “back,” “over,” “under,” and similar such terms are not to be construed as limiting the invention to a particular orientation. Instead, these terms are used only on a relative basis.
The present invention is directed toward a method of achieving higher availability of PCI adapters by dynamically switching the PCI adapters between host-controlled operation and IOP-controlled operation.
The elements of the computer system 10 are typically connected with a bus 5, over which instructions and data flow between them. Although only one bus 5 is shown for simplicity, a computer system may include a number of separate buses for input/output, memory and other specialized functions. PCI adapters are typically single printed-circuit board devices with standard physical attributes so that they can be readily plugged into the computer system 10 to interface with a PCI-compatible bus.
The typical computer system 10 may also include an input/output (I/O) processor (IOP) 4, which is intended to perform the specialized function of controlling the IOAs, thus relieving the system processor of that function. The IOP may, for example, be a single printed-circuit card processor compatible with the PCI standard that plugs into the computer system 10 to interface with the same bus as the IOAs.
To overcome the problems inherent in the types of PCI adapters currently in use, which operate only in either the host-controlled (“native”) mode or the IOP-controlled (“non-native”) mode, the present invention makes use of PCI adapters, or more generally IOAs, capable of dynamically switching between the native and non-native modes.
Maintenance on the IOP in question is performed at step S4, after which a determination is made at step S5 as to whether any IOAs were switched for the maintenance action. If so, then at step S6 the switched IOAs are switched back to IOP control. At step S7 the maintenance action is complete.
A variation of the foregoing method provides for automatic fault recovery in the event of an IOP failure or malfunction. This requires that in step S1 the system be capable of detecting such fault to initiate the maintenance procedure, and in step S3, automatically switching over to system control the IOAs controlled by the faulty IOP. The system would also have to be capable in step S4 of detecting when the faulty IOP had been replaced, and hence was once again operational, and in step S6, automatically initiating the process of switching back the IOAs that had originally been switched because of the fault.
Another aspect of the present invention is the capability of automatically switching between native and non-native modes based on the level of demand or utilization of the processors in the system.
Affirmative determinations in both steps S12 and S13 will result in switching the candidate IOA to the non-controlling processor in step S14. Thereafter, the system waits an appropriate period of time in step 15, which may be substantially the same as the time during which over utilization of the previously controlling processor is likely to continue, as specified in step S12. The process then starts again at step S11.
A variation of the foregoing process involves consideration of each of the dual-mode IOAs as a candidate for switching if the system includes more than one such dual-mode IOA.
It should be understood that the invention is not necessarily limited to the specific process, arrangement, materials and components shown and described above, but may be susceptible to numerous variations within the scope of the invention. For example, although the above-described exemplary aspects of the invention are believed to be well suited for general-purpose computers, it is contemplated that the concepts of the present invention can be applied in other types of computer systems, such as servers and communications processors. In general, the concepts of the present application can be utilized whenever it is desired to optimize data input and output in a processor-based system.
It will be apparent to one skilled in the art that the manner of making and using the claimed invention has been adequately disclosed in the above-written description of the preferred embodiments taken together with the drawings.
It will be understood that the above description of the preferred embodiments of the present invention are susceptible to various modifications, changes and adaptations, and the same are intended to be comprehended within the meaning and range of equivalents of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4750113 | Buggert | Jun 1988 | A |
4965717 | Cutts et al. | Oct 1990 | A |
5131081 | MacKenna et al. | Jul 1992 | A |
5222216 | Parish et al. | Jun 1993 | A |
5548730 | Young et al. | Aug 1996 | A |
5588111 | Cutts et al. | Dec 1996 | A |
5768543 | Hiles | Jun 1998 | A |
5781798 | Beatty et al. | Jul 1998 | A |
5822553 | Gifford et al. | Oct 1998 | A |
5832238 | Helms | Nov 1998 | A |
5848249 | Garbus et al. | Dec 1998 | A |
5889965 | Wallach et al. | Mar 1999 | A |
5983292 | Nordstrom et al. | Nov 1999 | A |
6023736 | Lambeth et al. | Feb 2000 | A |
6038685 | Bissett et al. | Mar 2000 | A |
6065085 | Odenwald et al. | May 2000 | A |
6078970 | Nordstrom et al. | Jun 2000 | A |
6163815 | Fields et al. | Dec 2000 | A |
6173341 | Emerson et al. | Jan 2001 | B1 |
6173351 | Garnett et al. | Jan 2001 | B1 |
6192434 | Wallach et al. | Feb 2001 | B1 |
6223240 | Odenwald et al. | Apr 2001 | B1 |
6240526 | Petivan et al. | May 2001 | B1 |
6263452 | Jewett et al. | Jul 2001 | B1 |
6275890 | Lee et al. | Aug 2001 | B1 |
6477610 | Willenborg | Nov 2002 | B1 |
6529978 | Eide et al. | Mar 2003 | B1 |
6542948 | Munz et al. | Apr 2003 | B1 |
6557065 | Peleg et al. | Apr 2003 | B1 |
6587961 | Garnett et al. | Jul 2003 | B1 |
6687240 | Moertl et al. | Feb 2004 | B1 |
6738818 | Shah | May 2004 | B1 |
6779128 | Gale et al. | Aug 2004 | B1 |
6785760 | Asselin | Aug 2004 | B2 |
6839866 | Lerman | Jan 2005 | B2 |
20020040452 | Birk et al. | Apr 2002 | A1 |
20020083258 | Bauman et al. | Jun 2002 | A1 |
20020194531 | Lerman | Dec 2002 | A1 |
20030135782 | Matsunami et al. | Jul 2003 | A1 |
20040025162 | Fisk | Feb 2004 | A1 |
20040030881 | Harrington et al. | Feb 2004 | A1 |
20050060481 | Belonoznik | Mar 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20050204188 A1 | Sep 2005 | US |