IP Library Granted Patent US 10,146,718
Granted Patent B2
US 10,146,718 · App. 15/341,237 · Granted Dec 4, 2018

Mechanism to boot multiple hosts from a shared PCIe device

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 10,146,718
App. No.
15/341,237
Granted
Dec 4, 2018
Kind
B2
Abstract

A PCIe switch including a memory and a processor. The processor is operable to receive a transaction from an information handling system to an endpoint device, determine that the transaction is a request to receive firmware code from the endpoint device, block the transaction from being issued to the endpoint device, and provide the firmware code to the information handling system from the memory.

Claims (61)

1. A Peripheral Component Interconnect Express (PCIe) switch comprising:

a memory to store a first base address in an endpoint device, wherein the first base address points to a first location of firmware code in a physical function of the endpoint device; and

a processor configured to:

receive a first transaction from a first information handling system to the physical function of the endpoint device;

determine that the first information handling system can not access firmware code from the endpoint device, based upon the first transaction being to the physical function;

block the first transaction from being issued to the endpoint device;

provide the firmware code to the first information handling system from the memory in response to the first transaction;

prior to receiving the first transaction, receive a second transaction from a second information handling system to the physical function of the endpoint device;

determine that the second transaction is a second request to receive the firmware code from the endpoint device;

receive a third transaction from the endpoint device, the third transaction including the firmware code; and

store the firmware code in the memory.

2. The PCIe switch of claim 1 , wherein:

in providing the firmware code to the first information handling system, the processor is further configured to:

provide a second base address to the first information handling system, the second base address being to a second location of the firmware code in the memory; and

receive a second transaction from the first information handling system to the second base address; and

providing the firmware code to the first information handling system is in response to the second transaction.

3. The PCIe switch of claim 1 , wherein the first transaction is to a virtual function of the endpoint device.

4. The PCIe switch of claim 1 , wherein the processor is further configured to:

prior to receiving the third transaction, receive a fourth transaction from the endpoint device, the fourth transaction including a base address in the endpoint device, wherein the base address points to a location of the firmware code in the endpoint device; and

store the base address in the memory.

5. The PCIe switch of claim 2 , wherein the second transaction is to the physical function of the endpoint device.

6. The PCIe switch of claim 1 , wherein:

the PCIe switch is a multi-root I/O virtualization switch; and

the endpoint device is a single-root I/O virtualization endpoint device.

7. A method comprising:

receiving, at a Peripheral Component Interconnect-Express (PCIe) switch, a first transaction from a first information handling system to a physical function of an endpoint device;

determining that the first information handling system can not access firmware code from the endpoint device, based upon the first transaction being to the physical function;

blocking the first transaction from being issued to the endpoint device;

providing, in response to the first transaction, the firmware code to the first information handling system from a memory of the PCIe switch;

prior to receiving the first transaction and the second transaction, receiving a third transaction from a second information handling system to the endpoint device;

determining that the third transaction is a second request to receive the firmware code from the endpoint device;

receiving a fourth transaction from the endpoint device, the fourth transaction including the firmware code; and

storing the firmware code in the memory.

8. The method of claim 7 , wherein providing the firmware code includes:

providing a second base address to the first information handling system, wherein the second base address points to a second location of the firmware code in the memory; and

receiving a second transaction from the first information handling system to the second base address.

9. The method of claim 7 , wherein the first transaction is to a virtual function of the endpoint device.

10. The method of claim 7 , further comprising:

prior to receiving the third transaction, receiving a fourth transaction from the endpoint device, the fourth transaction including a base address in the endpoint device, wherein the base address points to a location of the firmware code in the endpoint device; and

storing the base address in the memory.

11. The method of claim 8 , wherein the second transaction is to the physical function of the endpoint device.

12. The method of claim 7 , wherein:

the PCIe switch is a multi-root I/O virtualization switch; and

the endpoint device is a single-root I/O virtualization endpoint device.

13. A non-transitory computer-readable medium including code for performing a method, the method comprising:

receiving, at a Peripheral Component Interconnect-Express (PCIe) switch, a first transaction from a first information handling system to a physical function of an endpoint device;

determining that the first information handling system can not access firmware code from the endpoint device, based upon the first transaction being to the physical function of the endpoint device;

blocking the first transaction from being issued to the endpoint device;

providing, in response to the first transaction, the firmware code to the first information handling system from a memory of the PCIe switch;

prior to receiving the first transaction and the second transaction, receiving a third transaction from a second information handling system to the endpoint device;

determining that the third transaction is a second request to receive the firmware code from the endpoint device;

receiving a fourth transaction from the endpoint device, the fourth transaction including the firmware code; and

storing the firmware code in the memory.

14. The computer-readable medium of claim 13 , wherein in providing the firmware code, the method further comprises:

providing a second base address to the first information handling system, wherein the second base address points to a second location of the firmware code in the memory; and

receiving a second transaction from the first information handling system to the second base address.

15. The computer-readable medium of claim 13 , wherein the first transaction is to a virtual function of the endpoint device.

16. The computer-readable medium of claim 13 , the method further comprising:

prior to receiving the third transaction, receiving a fourth transaction from the endpoint device, the fourth transaction including a base address in the endpoint device, wherein the base address points to a location of the firmware code in the endpoint device; and

storing the base address in the memory.

17. The computer-readable medium of claim 14 , wherein the second transaction is to the physical function of the endpoint device.

Assignments (7)
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 (041829/0873) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0724 →
RELEASE OF SECURITY INTEREST AT REEL 041808 FRAME 0516 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0573 →
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 →
PATENT SECURITY INTEREST (NOTES) Recorded Feb 28, 2017
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 041829/0873 →
PATENT SECURITY INTEREST (CREDIT) Recorded Feb 24, 2017
From: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 041808/0516 →