IP Library Granted Patent US 9,792,240
Granted Patent B2
US 9,792,240 · App. 14/704,049 · Granted Oct 17, 2017

Method for dynamic configuration of a PCIE slot device for single or multi root ability

Inventors: Cyril Jose (Austin, TX); Darrell D. Rosser (Round Rock, TX)
Assignee: Dell Products, L.P.
G06F13/4022G06F9/4411G06F9/455G06F13/385G06F13/4068G06F13/362G06F13/4282
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,792,240
App. No.
14/704,049
Filed
May 5, 2015
Granted
Oct 17, 2017
Kind
B2
Art Unit
2185
USPC
710/301
Abstract

A method and an information handling system (IHS) selectively configures a peripheral component interconnect express (PCIe) device with single or multiple root ability to service various compute node requests. A multi-root aware (MRA) module that manages an MRA switch receives requests for powering on PCIe adapters in respective chassis slot locations. If slot locations of respective PCIe adapters are designated as single root and unshared PCIe device slots, the MRA module provides power to the PCIe adapters and configures the PCIe adapter with single root ability. If slot locations of respective PCIe adapters are designated as multi-root and shared PCIe device slots, and corresponding PCIe adapters are single root input/output virtualization (SR-IOV) aware, the MRA module provides power to corresponding PCIe adapters, and configures, using the appropriate device drivers, the PCIe adapters with multi-root ability. The MRA module connects compute nodes via the MRA switch to requested PCIe device functions.

Claims (108)

1. An information handling system comprising:

a processor;

a memory system communicatively coupled to the processor;

a multi-root aware (MRA) PCIe switch comprising a plurality of root endpoint ports and a plurality of input/output (I/O) adapter endpoint ports;

at least one host compute node;

a plurality of I/O adapter clusters including a first adapter cluster configured with multi-root ability and a second adapter cluster configured with single root ability, each cluster having at least one I/O adapter;

a management/controller entity comprising:

a chassis management controller (CMC) that receives one or more user requests for a PCIe adapter that triggers a power-on process initiation request for one or more I/O adapter devices; and

a multi-root PCIe manager node (MR-PCIM) that receives the request from the CMC, and which manages the MRA PCIe switch and associated PCIe sub-system;

wherein the MR-PCIM:

determines whether a chassis PCIe slot location assigned to an I/O adapter device is designated as a multi-root (MR) device slot;

in response to determining that the chassis PCIe slot location assigned to the I/O adapter device is designated as a multi-root (MR) device slot, determines whether the I/O adapter is SR-IOV aware with specific functions to support an MRA switch plug-in;

in response to determining that the I/O adapter is SR-IOV aware with specific functions to support an MRA switch plug-in:

provides power to the slot and adapter; and

configures the I/O adapter with multi-root ability by exposing functions for SR-IOV capability; and

in response to determining that the chassis PCIe slot location assigned to the I/O adapter device for which power is requested is designated as a single root (SR) device slot as opposed to an MR device slot:

provides power to the slot and adapter; and

configures the I/O adapter with single root ability.

2. The IHS of claim 1 , wherein the MR-PCIM:

in response to determining that the first I/O adapter cluster is SR-IOV aware and has specific functions to enable the I/O adapter to be connected to the MRA switch:

provides power to chassis slots and respective I/O adapters; and

loads within respective I/O adapters the device specific SR-IOV physical function driver.

3. The IHS of claim 1 , wherein the MR-PCIM:

in response to determining that the I/O adapter is not SR-IOV aware and does not have the specific functions to support an MRA switch plug-in:

provides power to the slot and adapter; and

configures the I/O adapter for single rooted base device functionality.

4. The IHS of claim 1 , wherein the MR-PCIM:

receives a first request for power for a first I/O adapter assigned to a chassis slot location configured for the multi-root (MR) ability;

receives a second request for power for a second I/O adapter assigned to a chassis slot location configured for the SR ability;

configures the first I/O adapter with multiple root ability; and

configures the second I/O adapter with single rooted base device ability.

5. The IHS of claim 1 , wherein the MR-PCIM:

receives at least one request from respective host compute nodes, including a first request for I/O adapter functionality from the first host compute node;

determines from the received first request whether the first host compute node is requesting a device function from a multi-root configured device;

in response to determining that the first host compute node is requesting a device function from a multi-root configured device, connects the first host compute node to virtual functions provided by an I/O adapter configured with the multi-root capability in the first adapter cluster and in the assigned chassis slot location; and

in response to determining that the first host compute node has requested a device function from a single root configured device as opposed to a device function from a multi-root configured device, connects the first host compute node to physical functions provided by an I/O adapter configured with the single root capability in the second adapter cluster and in the assigned chassis slot location.

6. The IHS of claim 5 , wherein the MR-PCIM:

receives multiple requests to access I/O adapter functionality including the first request from the first host compute node and a second request from a second host compute node;

determines from the first request that the first host compute node is requesting a device configured with MR ability;

determines from the second request that the second host compute node is requesting a device configured with SR ability; and

connects the second compute node to a physical function provided by an adapter configured with the SR ability in the second adapter cluster and in an assigned chassis slot location while connecting to one or more compute nodes including the first compute node virtual functions provided by an adapter configured with the MR ability in the first adapter cluster and in a corresponding chassis slot location.

7. The IHS of claim 1 , wherein the MR-PCIM:

enables a user to respectively configure I/O adapter device slots for single root ability and multi-root ability by using a slot configuration map, wherein the user is able to dynamically update, on demand, based on end user preferences, the slot configuration map to make use of interfaces exposed by the CMC; and

dynamically configures respective devices as shared devices corresponding to slots configured for multi-root ability and unshared devices corresponding to slots configured for single root ability by utilizing the updated slot configuration map.

8. The IHS of claim 1 , wherein the MR-PCIM:

routes VFs of SRIOV adapters through the MRA switch via the VH0 management interface; and

assigns the VH0 management interface to respective compute nodes to enable compute nodes to route base functions for single rooted devices to said compute nodes via the MRA switch.

9. The IHS of claim 1 , wherein the MR-PCIM:

loads the at least one adapter in the first adapter cluster as shared device which can be connected to respective compute nodes via VH1 to VHN;

loads the at least one adapter in the second adapter cluster as an unshared device which can be connected to a single, respective compute node via a respective VH0;

wherein the at least one adapter in the first adapter cluster and the at least one adapter in the second adapter cluster are substantially identically configured as SR-IOV adapter devices; and

wherein an adapter cluster can include one or more of a local adapter device and a remote adapter device.

10. The IHS of claim 1 , wherein the MR-PCIM:

in response to power on procedures being completed for corresponding adapter devices, determines whether a respective powered on device exposes multiple virtual functions as provided by SR-IOV devices in multi-root configured slots;

in response to determining that respective powered on devices expose multiple virtual functions, provides routing assignments that connects the virtual functions to respective compute nodes via corresponding virtual hierarchy connections exposed by the MRA switch; and

in response to determining that respective powered on devices expose single physical functions of respective adapter devices, provides routing assignments that connects the physical functions to respective compute nodes via corresponding virtual hierarchy connections exposed by the MRA switch.

11. The IHS of claim 1 , wherein the MR-PCIM:

the PF driver identifies I/O adapter device settings and enumerates the configuration address space for the I/O adapter device's virtual functions, wherein the PF driver provides configuration space enumeration.

12. In an information handling system (IHS), a method comprising:

receiving from a chassis management controller (CMC) requests for power that indicates a power-on process initiation for one or more I/O adapter devices;

determining whether a chassis PCIe slot location assigned to an I/O adapter device for which power is requested is designated as a multi-root (MR) device slot;

in response to determining that the chassis PCIe slot location assigned to the I/O adapter device is designated as a multi-root (MR) device slot, determining whether the I/O adapter is SR-IOV aware with specific functions to support an MRA switch plug-in;

in response to determining that the I/O adapter is SR-IOV aware with specific functions to support an MRA switch plug-in:

providing power to the slot and adapter;

configuring the I/O adapter with multi-root ability by exposing functions for SR-IOV capability; and

in response to determining that the chassis PCIe slot location assigned to the I/O adapter device is designated as a single root (SR) device slot as opposed to an MR device slot:

providing power to the slot and adapter; and

configuring the I/O adapter with single root ability.

13. The method of claim 12 , further comprising:

in response to determining that the first I/O adapter cluster is SR-IOV aware with specific functions to enable the first I/O adapter to be connected to the MRA switch:

providing power to chassis slots and respective I/O adapters; and

loading within respective I/O adapters the device specific SR-IOV physical function driver.

14. The method of claim 12 , further comprising:

in response to determining that the I/O adapter is not SR-IOV aware and does not have the specific functions to support an MRA switch plug-in:

providing power to the slot and adapter; and

configuring the I/O adapter for single rooted base device functionality.

15. The method of claim 12 , further comprising:

receiving a first request for power for a first I/O adapter assigned to a chassis slot location configured for the multi-root (MR) ability;

receiving a second request for power for a second I/O adapter assigned to a chassis slot location configured for the SR ability;

configuring the first I/O adapter with multiple root ability; and

configuring the second I/O adapter with single rooted base device ability.

16. The method of claim 12 , further comprising:

receiving at least one request from respective host compute nodes, including a first request for I/O adapter functionality from the first host compute node;

determining from the received first request whether the first host compute node is requesting a device function from a multi-root configured device;

in response to determining that the first host compute node is requesting a device function from a multi-root configured device, connecting the first host compute node to virtual functions provided by an I/O adapter configured with the multi-root capability in the first adapter cluster and in the assigned chassis slot location; and

in response to determining that the first host compute node has requested a device function from a single root configured device as opposed to a device function from a multi-root configured device, connecting the first host compute node to physical functions provided by an I/O adapter configured with the single root capability in the second adapter cluster and in the assigned chassis slot location.

17. The method of claim 16 , further comprising:

receiving multiple requests to access I/O adapter functionality including the first request from the first host compute node and a second request from a second host compute node;

determining from the first request that the first host compute node is requesting a device configured with MR ability;

determining from the second request that the second host compute node is requesting a device configured with SR ability; and

connecting the second compute node to a physical function provided by an adapter configured with the SR ability in the second adapter cluster and in an assigned chassis slot location while connecting to one or more compute nodes including the first compute node virtual functions provided by an adapter configured with the MR ability in the first adapter cluster and in a corresponding chassis slot location.

18. The method of claim 17 , further comprising:

enabling a user to respectively configure I/O adapter device slots for single root ability and multi-root ability by using a slot configuration map, wherein the user is able to dynamically update, on demand based on end user preferences, the slot configuration map to make use of interfaces exposed by the CMC; and

dynamically configuring respective devices as shared devices corresponding to slots configured for multi-root ability and unshared devices corresponding to slots configured for single root ability by utilizing the updated slot configuration map.

19. The method of claim 12 , further comprising:

routing VFs of SRIOV adapters through the MRA switch via the VH0 management interface; and

assigning the VH0 management interface to respective compute nodes to enable compute nodes to route base functions for single rooted devices to said compute nodes via the MRA switch.

20. The method of claim 12 , further comprising:

loading the at least one adapter in the first adapter cluster as shared device which can be connected to respective compute nodes via VH1 to VHN;

loading the at least one adapter in the second adapter cluster as an unshared device which can be connected to a single, respective compute node via a respective VH0;

wherein the at least one adapter in the first adapter cluster and the at least one adapter in the second adapter cluster are substantially identically configured as SR-IOV adapter devices; and

wherein an adapter cluster can include one or more of a local adapter device and a remote adapter device.

21. The method of claim 20 , further comprising:

in response to power on procedures being completed for corresponding adapter devices, determining whether a respective powered on device exposes multiple virtual functions as provided by SR-IOV devices in multi-root configured slots;

in response to determining that respective powered on devices expose multiple virtual functions, providing routing assignments that connects the virtual functions to respective compute nodes via corresponding virtual hierarchy connections exposed by the MRA switch; and

in response to determining that respective powered on devices expose single physical functions of respective adapter devices, providing routing assignments that connects the physical functions to respective compute nodes via corresponding virtual hierarchy connections exposed by the MRA switch.

22. The method of claim 20 , further comprising:

utilizing the PF driver to identify I/O adapter device settings and enumerate a configuration address space for virtual functions of the I/O adapter device, wherein the PF driver provides configuration space enumeration.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 035860 FRAME 0797 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040028/0551 →
RELEASE OF REEL 035860 FRAME 0878 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040027/0158 →
RELEASE OF REEL 035858 FRAME 0612 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040017/0067 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035860/0878 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035860/0797 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035858/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2015
From: JOSE, CYRIL; ROSSER, DARRELL D.
To: DELL PRODUCTS, L.P.
Reel/Frame 035564/0167 →
Continuity (1)
Related Publication 20160328344A1 · Nov 10, 2016