SYSTEM AND METHOD FOR INITIALIZING SHARED MEMORIES FOR SHARING ENDPOINTS ACROSS A PLURALITY OF ROOT COMPLEXES
First Claim
1. A method, in a data processing system, for initializing a shared memory for communication between a plurality root complexes of the data processing system, comprising:
- generating a first virtual hierarchy of components of a communication fabric in the data processing system, the first virtual hierarchy being associated with a first root complex of the data processing system;
generating a second virtual hierarchy of components of the communication fabric in the data processing system, the second hierarchy being associated with a second root complex of the data processing system;
assigning an address range in a first shared memory associated with the first root complex, for each endpoint in the first virtual hierarchy;
assigning an address range in a second shared memory associated with the second root complex, for each endpoint in the second virtual hierarchy; and
performing communication between a first host system associated with the first root complex and a second host system associated with the second root complex utilizing the assigned address ranges in the first and second shared memories.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for initializing shared memories for sharing endpoints across a plurality of root complexes is provided. In one illustrative embodiment, a multi-root PCIe manager (MR-PCIM) initializes the shared memory between root complexes and endpoints by discovering the PCIe switch fabric by traversing all the links accessible through the interconnected switches of the PCIe switch fabric. As the links are traversed, the MR-PCIM compares information obtained for each of the root complexes and endpoints to determine which endpoints and root complexes reside on the same blade. A virtual PCIe tree data structure is then generated that ties the endpoints available on the PCIe switch fabric to each root complex. The MR-PCIM, or a single-root PCIe manager (SR-PCIM), may then assign each endpoint and root complex a base and limit within the PCIe memory address space the endpoint belongs to.
91 Citations
35 Claims
-
1. A method, in a data processing system, for initializing a shared memory for communication between a plurality root complexes of the data processing system, comprising:
-
generating a first virtual hierarchy of components of a communication fabric in the data processing system, the first virtual hierarchy being associated with a first root complex of the data processing system; generating a second virtual hierarchy of components of the communication fabric in the data processing system, the second hierarchy being associated with a second root complex of the data processing system; assigning an address range in a first shared memory associated with the first root complex, for each endpoint in the first virtual hierarchy; assigning an address range in a second shared memory associated with the second root complex, for each endpoint in the second virtual hierarchy; and performing communication between a first host system associated with the first root complex and a second host system associated with the second root complex utilizing the assigned address ranges in the first and second shared memories. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer program product comprising a computer useable medium having a computer readable program, wherein the computer readable program, when executed in a data processing system, causes the data processing system to:
-
generate a first virtual hierarchy of components of a communication fabric in the data processing system, the first virtual hierarchy being associated with a first root complex of the data processing system; generate a second virtual hierarchy of components of the communication fabric in the data processing system, the second hierarchy being associated with a second root complex of the data processing system; assign an address range in a first shared memory associated with the first root complex, for each endpoint in the first virtual hierarchy; assign an address range in a second shared memory associated with the second root complex, for each endpoint in the second virtual hierarchy; and perform communication between a first host system associated with the first root complex and a second host system associated with the second root complex utilizing the assigned address ranges in the first and second shared memories. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A data processing system comprising:
-
a first host system, the first host system comprising a first root complex; a second host system, the second host system comprising a second root complex; and a communication fabric coupling the first host system to the second host system, wherein; the first host system generates a first virtual hierarchy of components of the communication fabric, the first virtual hierarchy being associated with the first root complex; the second host system generates a second virtual hierarchy of components of the communication fabric, the second hierarchy being associated with the second root complex; the first host system assigns an address range in a first shared memory associated with the first root complex, for each endpoint in the first virtual hierarchy; the second host system assigns an address range in a second shared memory associated with the second root complex, for each endpoint in the second virtual hierarchy; and communication is performed between the first host system and the second host system utilizing the assigned address ranges in the first and second shared memories. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35)
-
Specification