Virtualization of computer system interconnects
First Claim
1. A virtual input/output (I/O) interconnect mechanism for use in a computer system having a plurality of I/O devices and a plurality of processing units, wherein I/O devices and processing units are coupled by one or more bridge units, the mechanism comprising:
- an address decode block, comprising;
a multiplexer that multiplexes inputs to produce an address, wherein the address relates to a transaction related to a processor unit, a range register decoder that receives the address and provides a destination address of a module to receive the transaction related to the address, and a reroute module identification block that receives the destination address, the reroute module identification block, comprising;
an original module identification that provides an address of one or more original modules in the computer system, and a remapped module identification that provides logical destination module identifications of substitute modules in the computer system, wherein a substitute module replaces functions of an original module in the computer system.
5 Assignments
0 Petitions
Accused Products
Abstract
A virtual input/output (I/O) interconnect mechanism, and a corresponding method, for use in a computer system having a plurality of I/O devices and a plurality of processing units, where I/O devices and processing units are coupled by one or more bridge units, includes an address decode block having a multiplexer that multiplexes inputs to produce an address, where the address relates to a transaction related to a processor unit, a range register decoder that receives the address and provides a destination address of a module to receive the transaction related to the address, and a reroute module identification block that receives the destination address. The reroute module identification block, includes an original module identification that provides an address of one or more original modules in the computer system, and a remapped module identification that provides logical destination module identifications of substitute modules in the computer system, where a substitute module replaces functions of an original module in the computer system.
-
Citations
26 Claims
-
1. A virtual input/output (I/O) interconnect mechanism for use in a computer system having a plurality of I/O devices and a plurality of processing units, wherein I/O devices and processing units are coupled by one or more bridge units, the mechanism comprising:
-
an address decode block, comprising;
a multiplexer that multiplexes inputs to produce an address, wherein the address relates to a transaction related to a processor unit, a range register decoder that receives the address and provides a destination address of a module to receive the transaction related to the address, and a reroute module identification block that receives the destination address, the reroute module identification block, comprising;
an original module identification that provides an address of one or more original modules in the computer system, and a remapped module identification that provides logical destination module identifications of substitute modules in the computer system, wherein a substitute module replaces functions of an original module in the computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for rerouting a transaction along a virtual path from an original module in a computer system to a substitute module in the computer system, wherein a transaction is initiated to the original module, and wherein the original module has failed, the method, comprising:
-
storing a remapped module identification that identifies the substitute module as a substitute for the failed original module;
receiving a transaction for the failed original module, the transaction including an address of the failed original module;
extracting the address;
decoding the address to provide an identification of the failed original module for receipt of the transaction;
comparing the identification of the failed original module to the remapped module identification; and
rerouting the transaction to the substitute module based on the remapped module identification. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for creating a virtual hardware path in a computer system, comprising:
-
identifying a failed module in the computer system;
identifying a substitute module in the computer system, the substitute module capable of replacing the failed module;
storing an identification of the failed module and an identification of the substitute module, wherein the failed module identification is related to the substitute module identification;
programming the substitute module to receive transactions addressed to the failed module. - View Dependent Claims (22)
copying a state of the failed module to the substitute module; and
programming the substitute module to claim the transactions addressed to the failed module.
-
-
23. An apparatus that creates a virtual hardware path in a computer system, comprising:
-
a reroute module identification block, comprising;
an original module identification section, and a substitute module identification section, wherein an identification for a failed original module is entered into a space in the original module identification section and an identification for a substitute module is entered in to a space, corresponding to the space in the original module identification section, in the substitute module section; and
programming adapted to the substitute module, wherein the substitute module is reprogrammed to claim transactions addressed to the failed original module and to copying a state of the failed original module to the substitute module.
-
-
24. A method for substituting operating components for failed components in a computer system, comprising:
-
detecting a failed component;
determining if a component of a same type as the failed component exists; and
if a substitute component exists;
suspending activities to the failed component, copying a state of the failed component to the substitute component, deconfiguring the failed component, updating reroute module identification to remap the failed component to the substitute component, updating configuration registers of the substitute component, and resuming activities to the failed component. - View Dependent Claims (25, 26)
-
Specification